我有我的系统的结构如下:Zend框架模块结构路由
application/
configs/
application.ini
router.php
layouts/
modules/
default/
controllers/
forms/
models/
views/
Bootstrap.php
test/
controllers/
forms/
models/
views/
Bootstrap.php
Bootstrap.php
routes.php文件文件:
$useDefaultRoutes = false;
$routes['index'] = new Zend_Controller_Router_Route(
'',
array('controller' => 'index',
'action' => 'index',
'module' => 'default'));
主要的bootstrap.php文件
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
public static function setRoutes(){
$frontController = Zend_Controller_Front::getInstance();
$router = $frontController->getRouter();
$routes = array();
if(file_exists('../application/configs/routes.php'))
{
require_once "configs/routes.php";
foreach($routes as $routeName => $routeValue){
$router->addRoute($routeName, $routeValue);
}
if($useDefaultRoutes == false)
{
$router->removeDefaultRoutes();
}
}
}
protected function _initFrontModules() {
$this->bootstrap('frontController');
$front = $this->getResource('frontController');
$this->setRoutes();
}
}
问题
当我输入浏览器http://address时,默认模块启动IndexController和 一切似乎都没问题。但是,如果我输入http://address/test,那么我找不到错误页面。如果我删除routes.php文件,那么它的作品。那么我的路由有什么问题?
您的帮助,将不胜感激。
那是你的完整的路线清单? – 2011-05-17 09:55:09
删除$ useDefaultRoutes = false; – Ashley 2011-05-17 10:35:07
@ShaunHare每个模块都有它的Bootstrap文件。例如,测试模块有它自己的: class Test_Bootstrap extends Zend_Application_Module_Bootstrap { } – Bounce 2011-05-17 11:13:39