processor = $processor; } /** * Проверка доступных действий для пользователя * !! Реализация класса проверки действий не должна быть внутри Контроллера!!! * Информация о доступе может быть в файле, базе данных и т.д. */ function checkAction($action) { // Импликация !! http://ru.wikipedia.org/wiki/Импликация return (!isset($this->access[$action]) || in_array(UserAccess::$access, $this->access[$action])); } function execute(HTTPRequest $request) { $action = $request->getAction(); if(! $this->checkAction($action)) { $request->set('action', 'index'); } return $this->processor->execute($request); } }