In PHP a Brief Explanation of Protected Properties and Methods in Class
Posted on June 23, 2015 in OOP, PHP by Matt Jennings


class GrandPa
    protected $name = 'Mark Henry';

class Daddy extends GrandPa
    function displayGrandPaName()
        return $this->name;


// Instance of the "Daddy" subclass of the "GrandPa" parent class
$daddy = new Daddy();
// Code below echos "Mark Henry":
echo $daddy->displayGrandPaName();

$objectInstanceOfGrandPa = new GrandPa();
Code below results in a fatal error because
protected class properties and methods ONLY have access to:

- The same class that inherited it.

- Subclasses that inherited the above class, which in this case is "GrandPa".

- Object instances of a subclass of the parent class, which in this case is "$daddy" listed above.

Protected class properties and methods do NOT have access to:
- Object instances of the declared class itself, which in this case is "$objectInstanceOfGrandPa" as show below.
echo $objectInstanceOfGrandPa->name;


Leave a Reply

To Top ↑