Вторая часть задачи.
В моем проекте должен быть, как я уже писал, админский модуль; а вот фронт-энд должен быть разделен на две одинаковые по структуре части. Первоначально я думал сделать для каждой из них свой отдельный модуль. Но ведь структура один в один, и я решил, что это неразумно. И тут мне на помощь вновь пришел Ероен Кеппенс! Похоже, я торчу ему пиво...
В своей другой статье он рассказал, как он сделал админский псевдо-модуль - "попросту" попрописывал руты. Я немного видоизменил его код, убрав из рутов :module
- я не понял, зачем ему надо было его указывать - на мой взгляд, по крайней мере, в моем проекте, это кажется излишеством. Таким образом, у меня получилось три, а не четыре, рута. Кроме того, в конструктор Zend_Controller_Router_Route
я не добавлял _layout
- учитывая LayoutLoader
в первой части (я, Ероен), я решил, что это лишнее. Вместо этого я написал роутеру, что мой псевдомодуль - на самом деле дефолтный модуль. Но также, чтобы различать, в каком псевдомодуле я нахожусь, там же прописал и переменную, которая видна в getRequest()
.
В итоге получилось:$route = new Zend_Controller_Router_Route(
'ophtalmology/:controller/:action/*',
array('module' => 'default', 'section' => 'ophtalmology'));
$front->getRouter()->addRoute('ophtalmology_controller_action', $route);
и далее по тексту.
02 August, 2009
Мой опыт в создании модульного приложения на Zend Framework: Часть 2
Posted at 14:12
Labels: modular, zend framework, zend_router
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment