По логике приложения запрос должен проходить несколько ступеней диспетчеризации, на каждой происходит инициализация слоя: проверки прав, установка в шаблоны переменных и т.п., в урлах каждая ступень выделена жирным.
Например: /project/10/task
Первый слой - /project/10:
1. нужно найти проект 10,
2. проверить, что пользователь имеет права смотреть его,
3. поставить в шаблон ссылку на проект
4. передать управлению контроллеру действия TasksController
5. при этом у TasksController должна быть доступна переменная $this->project со ссылкой на проект.
или /project/10/task/20/foto/index
первый слой проекта аналогично до п.3
потом те же действия повторить для задачи 20.
у контроллера FotoController должны быть доступны переменные $this->project и $this->task
Подскажите, пожалуйста, в какую сторону копать, плагин для FrontController или самописный роутинг делать, или можно как-то сделать в рамках традиционного ZF как-нибудь?