Yii2. Как статически вызвать методы родителя?


Буквально сегодня довелось писать небольшое поведение (behavior) и, в процессе работы, вспомнил о интересном моменте, который, в свое время, занял много времени для поиска правильного решения. Речь идет о необходимости обратится к модели-родителю, от имени которой вызывается само поведение.

Итак, несмотря на простоту решения ответ на вопрос не лежит нигде на поверхности интернета, поэтому приведу конкретный пример.

Доступ к родительской модели:

$this->owner

Доступ к статическим методам родителя:

$owner = $this->owner;
$owner::find()->all(); // ....

Вот и все. Теперь можно, путем указания public-свойств в моделях создавать классные универсальные поведения (behavior) для Yii2.

,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *