我正在使用Zend Framework构建一个相对较大的站点。我正在考虑在每个模块控制器文件夹中使用模块和文件夹来组织应用程序控制器。
我的问题是,对于每个请求都需要定义路由的应用程序,创建,管理和维护路由的最佳方法是什么?
据我所知,选项包括:
此应用程序将包含一个核心“站点”,该站点由单独的模块扩展,实质上可以提供多站点应用程序。
这是我提出的申请结构的一个例子:
|Project
|-Application
|-api
|-configs
|-controllers
|-models
|-modules
|-core
|-controllers
|-Products
|-blueController.php
|-redController.php
|-greenController
|-Services
|-indoorController.php
|-outdoorController.php
|-models
|-views
|-Bootstrap.php
|-site1
|-site2
|-site3
|-views
|-Bootstrap.php
|-Docs
|-Library
|-Public
|-.zfproject.xml
答案 0 :(得分:1)
本着模块化的精神,我认为每个模块最好在它的引导文件中负责它自己的路由信息。
protected function _initRoutes()
{
$routes = array(
....
);
$router = Zend_Controller_Front::getInstance()->getRouter();
$router->addConfig(new Zend_Config($routes), 'mymodulename');
return $router;
}