Базовый класс — waController
.
См. правила маршрутизации HTTP-запросов в бекенде и во фронтенде.
Основное отличие этого класса от его базового класса состоит в наличии удобной возможности использовать композитные макеты, вызывать произвольные экшены для формирования основного содержимого страницы и возвращать сформированный HTML-код страницы в браузер пользователя.
Основная логика обработки HTTP-запроса должна быть описана в публичном методе execute()
.
Методы
-
executeAction
Выполняет метод
display()
указанного класса экшена для возврата в браузер сформированного HTML-кода. -
getLayout
Возвращает экземпляр класса
waLayout
, в данный момент используемый для создания композитного макета. -
setLayout
Устанавливает экземпляр класса
waLayout
, который должен использоваться для создания композитного макета.
public function executeAction (waViewAction $action, $name = 'content', waDecorator $decorator = null)
Выполняет метод display()
указанного класса экшена для возврата в браузер сформированного HTML-кода.
Параметры
-
$action
Экземпляр класса
waViewAction
экшена. -
$name
Имя блока, которому необходимо присвоить результат выполнения метода
display()
указанного экшена. По умолчанию используется имя блока'content'
. -
$decorator
Экземпляр класса
waDecorator
, методуdisplay()
которого в качестве параметра необходимо передать экземпляр класса экшена вместо выполнения методаdisplay()
этого экшена. По умолчанию никакой декоратор не используется.
Пример
$this->executeAction(new myappBackendNewPageAction());
public function getLayout ()
Возвращает экземпляр класса waLayout
, в данный момент используемый для создания композитого макета.
Пример
$current_layout = $this->getLayout();
public function setLayout (waLayout $layout=null)
Устанавивает экземпляр класса waLayout
, который должен использоваться для создания композитого макета.
Параметры
-
$layout
Экземпляр класса
waLayout
.
Пример
$this->setLayout(new myappBackendLayout());