Хотя я понимаю, что $this
переменная недоступна, когда метод вызывается в статическом контексте, чтобы помочь развязать компоненты моего приложения от одного другого, я понял, что имеет смысл вызвать статические методы из экземпляра. Например:
class MyExample{ private static $_data = array(); public static function setData($key, $value){ self::$_data[$key] = $value; } // other non-static methods, using self::$_data } // to decouple, another class or something has been passed an instance of MyExample // rather than calling MyExample::setData() explicitly // however, this data is now accessible by other instances $example->setData('some', 'data');
Планируете ли вы обесценить такую функциональность, или я прав, ожидая поддержки для этого? Я работаю с error_reporting(-1)
чтобы обеспечить очень строгую среду разработки, и пока нет каких-либо проблем ( PHP 5.3.6 ), однако я знаю, что обратное становится неподдерживаемым; то есть методы экземпляра называются статически.
Из документации Php :
Свойство, объявленное как статическое, не может быть доступно с помощью экземпляра объекта класса ( хотя может использоваться статический метод ).
Поэтому я думаю, что он будет поддерживаться в течение длительного времени.