Как правильно переопределить __call в признаке? - PullRequest
0 голосов
/ 26 мая 2019

Я разрабатываю пакет, который динамически добавляет методы, поэтому я должен переопределить метод __call в модели eraquent laravel.Я пишу это как черту, и она работает, но если модель использует другую черту, которая также переопределяет __call, они выдают ошибку с сообщением: «Метод черты __call не был применен, потому что есть столкновения с другими методами черты»

мой код черты выглядит примерно так:

trait HasX
{
    public function __call($name, $arguments)
    {
        if($name== 'x') return 'x';
        return self::__call($name, $arguments);
    }

}

Он работает отлично, но если я использую другую черту, которая также отменяет эту ошибку.Например:

trait HasY
{
    public function __call($name, $arguments)
    {
        if($name== 'y') return 'y';
        return self::__call($name, $arguments);
    }

}

Как правильно этого добиться?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...