Я хотел реализовать плагин FrontController для авторизации, основанный на аннотациях, как ASP.NET Mvc.Я подумал, что смогу написать плагин для фронт-контроллера и добавить проверку авторизации в один из хуков, предоставляемых Zend Framework.Пример:
class My_Controller_Plugin_Authorize extends Zend_Controller_Plugin_Abstract {
public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request){
...
if($user_is_not_loggedin){
goSomeWhereElse();
}
}
}
class MyFancyController extends Zend_Controller_Action{
/**
* @Authorize
*/
public function secretAction(){
...
}
}
Теперь мне нужно проверить docblocks в фактическом запрашиваемом контроллере, чтобы выяснить, требует ли действие, на которое направляет пользователь, авторизация или нет.И оказалось, что это не так просто: объект запроса является единственным ресурсом, который передается в хуки.
Я думал, что мог бы создать имя класса контроллера, выполнив controllerName + "Controller", но класс нене загружается, и поэтому он не найден, и код разрушается.
Есть идеи?