The PHP "protected" Keyword: A Comprehensive Guide

The "protected" keyword is used in PHP to declare a class member as protected, meaning that it can only be accessed within the class itself and its subclasses. In this article, we will explore the syntax and usage of the "protected" keyword in depth, and provide plenty of examples to help you master this important PHP feature.

Syntax

The "protected" keyword is used to declare a class member as protected in PHP. Here is the basic syntax for using the "protected" keyword:

class MyClass {
  protected $myProtectedVariable;
  protected function myProtectedFunction() {
    // Code block here
  }
}

In this example, we use the "protected" keyword to declare a protected variable and a protected function within a class.

Examples

Let's look at some practical examples of how the "protected" keyword can be used:

<?php

// Example 1
class Animal
{
  protected $name;

  public function __construct($name)
  {
    $this->name = $name;
  }

  protected function getName()
  {
    return $this->name;
  }
}

class Dog extends Animal
{
  public function bark()
  {
    $name = $this->getName();
    echo "$name barks!" . PHP_EOL;
  }
}

$dog = new Dog("Rufus");
$dog->bark(); // Output: Rufus barks!

// Example 2
class BankAccount
{
  protected $balance = 0;

  public function deposit($amount)
  {
    $this->balance += $amount;
  }

  protected function canWithdraw($amount)
  {
    return $amount <= $this->balance;
  }
}

class SavingsAccount extends BankAccount
{
  public function withdraw($amount)
  {
    if ($this->canWithdraw($amount)) {
      $this->balance -= $amount;
      echo "Withdrawal successful!" . PHP_EOL;
    } else {
      echo "Insufficient funds!" . PHP_EOL;
    }
  }
}

$savingsAccount = new SavingsAccount();
$savingsAccount->deposit(100);
$savingsAccount->withdraw(50); // Output: Withdrawal successful!
$savingsAccount->withdraw(100); // Output: Insufficient funds!

In these examples, we use the "protected" keyword to declare protected variables and functions within classes, which can only be accessed within the class itself and its subclasses.

Benefits

Using the "protected" keyword has several benefits, including:

  • Encapsulation: By using the "protected" keyword to declare class members as protected, you can encapsulate data and functionality within a class and its subclasses, which can improve the maintainability and modularity of your code.
  • Inheritance: The "protected" keyword can be used to allow subclasses to access and modify class members, while preventing external code from doing so.

Conclusion

In conclusion, the "protected" keyword is an important tool for PHP developers who are looking to create classes with encapsulated data and functionality that can be inherited by subclasses. It allows you to declare class members as protected, meaning that they can only be accessed within the class itself and its subclasses, and can improve the maintainability and modularity of your code. We hope this comprehensive guide has been helpful, and we wish you the best of luck as you continue to develop your PHP skills.

Practice Your Knowledge

In PHP, which of the following can access protected properties and methods?

Quiz Time: Test Your Skills!

Ready to challenge what you've learned? Dive into our interactive quizzes for a deeper understanding and a fun way to reinforce your knowledge.

Do you find this helpful?