1) Yes, that’s right. Children's class inherits all the properties and methods protected, or publicits parent. All advertised privatecannot be used.
2) This is true. As long as the class is loading (this applies well to your startup issue), you can access the static methods using the scope resolution operator (: :), for example:ClassName::methodName();
3) You have the value publiccorrectly, but, as I mentioned earlier, methods privatecan only be used by the class in which they are declared.
class parentClass
{
private $x;
public $y;
}
class childClass extends parentClass
{
public function __construct() {
echo $this->x;
}
}
$z = new childClass();
The code above will trigger an error NOTICEbecause $ x is not available for childClass.
Note: Undefined property: ChildClass :: $ x
$x protected, childClass . : , protected, , , , , . public private.