Класс Yaf_Controller_Abstract
(Yaf >=1.0.0)
Введение
Yaf_Controller_Abstract это сердце системы Yaf. MVC расшифровывается как Model-View-Controller и представляет собой шаблон проектирования, предназначенный для отделения логики приложения от логики отображения
Каждый пользовательский контроллер должен наследовать Yaf_Controller_Abstract.
Вы обнаружите, что не можете определить функцию __construct для своего пользовательского контроллера, поэтому Yaf_Controller_Abstract предоставляет
Если вы определили метод init() в своем пользовательском контроллере, он будет вызываться до тех пор, пока будет создан экземпляр контроллера.
У действия при поступлении запроса могут быть аргументы. Если в параметрах запроса есть одна и та же переменная имени (Yaf_Request_Abstract::getParam()) после перенаправления, Yaf передаст их методу действия (Yaf_Action_Abstract::execute()).
Замечание:
Аргументы извлекаются напрямую без фильтрации, перед использованием их следует тщательно обработать.
Обзор классов
Свойства
- actions
-
Вы также можете определить метод действия в отдельном скрипте PHP, используя это свойство и Yaf_Action_Abstract.
Пример #1 Определение действия в отдельном файле
<?php
class IndexController extends Yaf_Controller_Abstract {
protected $actions = array(
/** теперь dummyAction определяется в отдельном файле */
"dummy" => "actions/Dummy_action.php",
);
/* у метода действия могут быть аргументы */
public indexAction($name, $id) {
/* $name и $id небезопасные необработанные данные */
assert($name == $this->getRequest()->getParam("name"));
assert($id == $this->_request->getParam("id"));
}
}
?>Пример #2 Dummy_action.php
<?php
class DummyAction extends Yaf_Action_Abstract {
/* класс действия должен определить этот метод как точку входа */
public execute() {
}
}
?> - _module
-
имя модуля
- _name
-
имя контроллера
- _request
-
текущий объект запроса
- _response
-
текущий объект ответа
- _invoke_args
- _view
-
объект движка отображения
Содержание
- Yaf_Controller_Abstract::__construct — Конструктор класса Yaf_Controller_Abstract
- Yaf_Controller_Abstract::display — Назначение display
- Yaf_Controller_Abstract::forward — Переходит к другому действию
- Yaf_Controller_Abstract::getInvokeArg — Назначение getInvokeArg
- Yaf_Controller_Abstract::getInvokeArgs — Назначение getInvokeArgs
- Yaf_Controller_Abstract::getModuleName — Получает имя модуля
- Yaf_Controller_Abstract::getName — Получает свое имя
- Yaf_Controller_Abstract::getRequest — Получает текущий объект запроса
- Yaf_Controller_Abstract::getResponse — Получает текущий объект ответа
- Yaf_Controller_Abstract::getView — Получает движок отображения
- Yaf_Controller_Abstract::getViewpath — Назначение getViewpath
- Yaf_Controller_Abstract::init — Инициализатор контроллера
- Yaf_Controller_Abstract::initView — Назначение initView
- Yaf_Controller_Abstract::redirect — Перенаправляет на URL
- Yaf_Controller_Abstract::render — Отображает шаблон представления
- Yaf_Controller_Abstract::setViewpath — Назначение setViewpath