В PHP 5.3.6 я заметил, что следующее не будет работать:
class Foo{
public static $class = 'Bar';
}
class Bar{
public static function sayHello(){
echo 'Hello World';
}
}
Foo::$class::sayHello();
Выпуск unexpected T_PAAMAYIM_NEKUDOTAYIM
.Однако использование временной переменной приводит к ожидаемому результату:
$class = Foo::$class;
$class::sayHello(); // Hello World
Кто-нибудь знает, является ли это намерением, или непреднамеренным результатом того, как оператор разрешения области видимости маркирован или что-то еще?Какие-нибудь более чистые обходные пути, чем последний, пример временной переменной?