我有我的系統的結構如下: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