It is important to understand the behavior of static properties in the context of class inheritance:- Static properties defined in both parent and child classes will hold DISTINCT values for each class. Proper use of self:: vs. static:: are crucial inside of child methods to reference the intended static property.- Static properties defined ONLY in the parent class will share a COMMON value.<?phpdeclare(strict_types=1);class staticparent { static $parent_only; static $both_distinct; function __construct() { static::$parent_only = 'fromparent'; static::$both_distinct = 'fromparent'; }}class staticchild extends staticparent { static $child_only; static $both_distinct; function __construct() { static::$parent_only = 'fromchild'; static::$both_distinct = 'fromchild'; static::$child_only = 'fromchild'; }}$a = new staticparent;$a = new staticchild;echo 'Parent: parent_only=', staticparent::$parent_only, ', both_distinct=', staticparent::$both_distinct, "<br/>\r\n";echo 'Child: parent_only=', staticchild::$parent_only, ', both_distinct=', staticchild::$both_distinct, ', child_only=', staticchild::$child_only, "<br/>\r\n";?>will output:Parent: parent_only=fromchild, both_distinct=fromparentChild: parent_only=fromchild, both_distinct=fromchild, child_only=fromchild