Проблема
Я открываю источник, который включает магический метод __call()
. Во время тестирования я столкнулся с проблемой, когда родительский класс класса с использованием признака содержит метод __call
.
Что я пробовал
trait SomeTrait {
public function __call($method, array $parameters) {
// ...
return parent::__call($method, $parameters);
}
}
Это приводит к фатальной ошибке: Невозможно получить доступ к родительскому:: если текущий класс не имеет родительского
Я также пробовал следующее, основанное на некоторых других ответах:
return call_user_func_array([$this, '__call'], [$method, $parameters]);
Это приводит к ошибке Сегментации: 11. Я предполагаю, что из-за бесконечного цикла вызова.
Вопрос
Как я могу вызвать родительский метод __call
из метода __call
признака?
Если это невозможно изнутри признака напрямую, как я могу вызвать родительский метод __call
в противном случае?