yii Как вызвать функцию из контроллера?

Как вызвать функцию из контроллера в yii?

yii2

Ответ

Понятное дело, что вызвать необходимо не в самом контроллере.

Первый способ: сделать данную функцию статической (то есть добавить ключевое слово static):

Тогда вызов этой функции, например, в виджете, осуществляется таким образом:

Второй способ:

Здесь без list() будет Fatal error (стоит исследовать причину).
Заметим, что есть такой принцип MVC: "тонкий контроллер, толстая модель" (почитайте об этом). И важно строже проводить границу между контроллерами, моделями и видами. Поэтому если у вас возникла такая проблема как вызов метода из другого контроллера, возможно, этот метод должен находиться в модели. Еще вспомните о хелперах.

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

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