Как получить доступ к статическим переменным внутри класса без имен классов в 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);
}
}