Вызов модели компонента при разработке в 2.0

#1 2 февраля 2015 в 21:19
В туториалах говорится, что чтобы использовать функцию модели в компоненте, нужно эту модель сначала вызвать.
Например в компоненте в экшенах фронтенда вызов функции модели выглядит так:
  1. $list = $this->model->getFunction();
где-то так:
  1. $list = $this->getFunction();
а где-то, прежде чем использовать функцию модели, сначала подключить модель.
  1. $comp_model = cmsCore::getModel('comp');
  2. $list = $comp_model -> getFunction();
В чем разница этих вызовов? Как делать правильно? учитываем что фунции вызываются в рамках текущего компонента.
Есть ли разница, когда функции вызываются из разных файлов (экшены фронтента, экшены бакэнда, формы, хуки и т.д.)?
#2 2 февраля 2015 в 21:32
Первый вариант используется, когда функции вызываются из разных файлов (экшены фронтента, экшены бакэнда, формы, хуки и т.д.) в пределах данного компонента.
Второй вариант используется в самой модели компонента.
Третий вариант используется, когда надо получить данные из другого компонента.
Как-то так.

Как делать правильно?

kreator
Ответ один — всегда.
#4 2 февраля 2015 в 22:18
Спасибо за ссылку. Познавательно.

Так например в компоненте фотобатлы в хуке крон запускается функция так и в дефолтных компонентах:
  1. $this->model->closeExpiredBattles();
в компоненте афиша написанная другим пользователем тоже также.

а вот в других сторонних компонентах, через вызов модели.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.