self
всегда относится к классу, в котором он определен.То, что вы ищете, это «Позднее статическое связывание» (как вы уже предлагаете, но не используйте).Ключевое слово static
в блоке кода относится к «фактическому» классу и означает: либо вызываемый класс (XY::method()
), либо класс вызываемого объекта ($x->method()
).
return static::$x;
Ключевое слово static
в объявлении свойства не имеет ничего общего с LSB.Это просто общее заявление для свойств класса.
Обратите внимание, что LSB недоступен в PHP <5.3 </p>