我正在编写一个Zend应用程序。Zend网址和模块名称区分大小写
我正在使用zend命令行工具。我创建了几个模块Default
和User
并标记为Default
作为应用程序配置文件中的默认控制器。我也为这两个模块创建了各自的索引控制器/操作。
当我浏览网站的根目录时,一切都很好。但是,当我浏览$site_root$/user
,而不是得到索引控制器的东西,我得到的错误。
Notice: Undefined index: user in E:\xampp\php\PEAR\Zend\Controller\Dispatcher\Standard.php on line 384
Message: Invalid controller specified (index)
Stack trace:
#0 E:\xampp\php\PEAR\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#1 E:\xampp\php\PEAR\Zend\Application\Bootstrap\Bootstrap.php(97): Zend_Controller_Front->dispatch()
#2 E:\xampp\php\PEAR\Zend\Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#3 E:\xampp\htdocs\$project$\public\index.php(26): Zend_Application->run()
#4 {main}
Request Parameters:
array (
'module' => 'user',
'controller' => 'index',
'action' => 'index',
)
但是,当我浏览$site_root$/User
,一切都OK了。显然URL必须区分大小写以反映模块名称。我想到了一些解决方法,比如重写Zend Request类。但在URL中使用小写模块名称的最佳做法是什么?
编辑1:文件夹结构:
可以显示文件树或你如何创建的模块和控制器和配置也 – Vytautas 2012-02-29 07:37:46
当然,问题也许编辑将是有益的。 – Salman 2012-02-29 07:41:56
只需将您的模块目录中的'User'文件夹名称更改为'user'即可。 – 2012-02-29 09:04:04