Intereting Posts
Как найти день недели в php в определенный часовой пояс Как я могу получить одну фотографию для каждого тега Flickr определенным пользователем по одному запросу? Разделить слово заглавной буквой Сжатие jpeg на сервере с PHP Установка значения базы данных переменной в NULL вместо пустой строки Проблема с файлами cookie (PHP) Загрузка файла с помощью twig и Slim framework (версия 2) – PHP Как отображать преобразованные часовые пояса в «общую неделю» (с воскресенья по субботу)? В чем преимущества использования SPL ArrayObject, ArrayIterator, RecursiveArrayIterator вместо обычных массивов? Предупреждение: PDOStatement :: execute (): SQLSTATE : Недопустимый номер параметра: количество связанных переменных не совпадает с числом токенов в Что означает двоеточие перед литералом в выражении SQL? Подтвердить доменное имя PHP Почему index.html имеет приоритет над index.php? Как использовать Ajax в плагине WordPress? Как избавиться от PHP Примечание: Неопределенный индекс: HTTPS в X на линии 123

Статические свойства PHP, Наследование и ключевое слово self

Для меня это не имеет смысла:

class A { public static $value = "a"; public static function get_value(){ return self::$value; } } echo A::$value; // a, this makes sense echo A::get_value(); // a, this makes sense class B extends A { public static $value = "b"; } echo B::$value; // b, this makes sense echo B::get_value(); // a? :( 

Почему self указатель работает так, как ожидалось, подобный this ? Есть ли другое ключевое слово, которое можно было бы использовать для этого?

Если я добавлю статическую функцию в класс B, она теперь работает так, как ожидалось.

 class B extends A { public static $value = "b"; public static function get_value(){ return self::$value; } } echo B::get_value(); // b :) 

Если метод содержал более 1 строки, было бы бессмысленно копировать + вставлять эту функциональность и управлять ею в двух местах …

Solutions Collecting From Web of "Статические свойства PHP, Наследование и ключевое слово self"