Как получить доступ к статическим переменным внутри класса без имен классов в PHP?

Есть ли способ получить доступ к статической переменной класса PHP без использования префикса класса?

Пример:

class A {

   protected static $x = "blahblah";

   public static function p() {

       print(A::$x); // <= Is there no way to omit A:: ???

   }

}

Я понимаю, что в этот момент $x может быть неинициализированной локальной переменной, но было бы разумно сказать / объявить / установить, что в этих случаях интерпретатор должен разрешать $x как член, объявленный ранее. Ввод префикса класса везде - это серьезный сбой ИМХО.

1 ответ

Решение

Если метод, из которого вы его используете, находится в том же классе, вы можете использовать self:: или static::.

Например:

class A {

   protected static $x = "blahblah";

   public static function p() {

       print(self::$x);

   }

}
Другие вопросы по тегам