有用过Zend Framework框架开发过项目的网友都知道 Zend Framework (ZF) MVC中的Controller和Action名称默认是不支持大小写的,这对于已经习惯了驼峰式代码风格的开发人员来讲,显然是难以接受的。还好能够设 定前端控制器FrontController的useCaseSensitiveActions参数来让Zend Framework支持大小写的Controller与Action命名,代码以下:前端
$front = Zend_Controller_Front::getInstance(); $front->setParam('useCaseSensitiveActions',true);
如今若是在 AppController中定义了一个Action叫作 CoderBolgAction();而要访问这个Action时,URL要写 http://localhost/app/coder-bolg/,注意Action的第二个大写字母前加上了'-'。这个倒还没事,至少问题解决了, 并且加上'-'也不影响SEO,甚至比驼峰式对搜索引擎更为友好。可是又出现了一个让人更没法容忍的问题:URL也区别大小写了。就是说若是用户在URL 中把Action的某个字母输入成了大写就没法显示。晕死……,不过这个也比较好解决。在路由前把ModuleName 、ControllerName 、ActionName 都修改为小写就解决了。我在Zend_Controller_Action的子类(在咱们的项目中让这个子类继承 Zend_Controller_Action,咱们的Controller再继承这个类)的init()方法中加上这三行:app
$this->_request->setModuleName( strtolower( $this->_request->getModuleName() ) ); $this->_request->setControllerName(strtolower($this->_request->getControllerName())); $this->_request->setActionName( strtolower( $this->_request->getActionName() ) );
这样就解决了URL大小写敏感的问题。框架