В PHP, call_user_func (array (self,' method_name '))
не работает. Ключевое слово self
не может использоваться в этом контексте. Мне действительно нужно включить имя класса call_user_func (array ('class_name', 'method_name'))
.
Однако , если я не использую статическую функцию, переменная $ this
работает в этом контексте. Почему разница?
Начиная с PHP 5.5 можно сделать [self::class, 'methodName']
.
::class
действительно полезно для ситуаций, где у Вас есть имя класса (возможно, локальный псевдоним), и необходимо генерировать полное имя класса как строку.