Явный статический вызов функции-члена базового класса

У меня есть базовый класс с определенными магическими методами __callи _callStatic, так что вызовы необъявленных функций-членов обрабатываются.

Когда у Вас есть и нестатический, и статический, похоже, невозможно вызвать статический из производного класса, потому что статический оператор ::не означает неявно staticпри использовании с parentили, как в этом случае, с именем базового класса. Это специальный синтаксис, описанный здесь: http://php.net/manual/pl/keyword.parent.php

Здесь я хочу вызвать производный класс __callStaticкоторый терпит неудачу, потому что вызов по умолчанию является нестатическим вызовом и обрабатывается __call.

Как сделать явный статический вызов функции-члена базового класса?

someAction(); //outputs 'non-static call'

?>

Обратите внимание, что удаление нестатического метода __callприводит к тому, что скрипт выводит «статический вызов», поскольку __callStaticвызывается, когда __callне объявлен.

8
задан Andre 9 August 2018 в 20:23
поделиться