waViewController

Обработка HTTP-запросов с возвратом HTML-кода, сформированного прежде всего средствами экшенов и композитных макетов

Содержание...

Базовый класс — 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());