zend framework框架中url大小写问题解决方法
有用过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()方法中加上这三行:
$this->_request->setModuleName( strtolower( $this->_request->getModuleName() ) );
$this->_request->setControllerName(strtolower($this->_request->getControllerName()));
$this->_request->setActionName( strtolower( $this->_request->getActionName() ) );
这样就解决了URL大小写敏感的问题。
相关文章
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
这篇文章主要介绍了TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法,结合实例形式分析了thinkPHP3.2.3框架使用CKeditor编辑器相关配置方法与操作注意事项,需要的朋友可以参考下2019-12-12
laravel-admin 添加、编辑按钮支持携带参数的解决方法
通过修改源码实现laravel-admin添加、编辑按钮支持携带参数,解决一些特殊功能需求,并且不影响之前添加和编辑程序运行,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧2023-11-11
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
这篇文章主要介绍了PHP设计模式:适配器模式Adapter,结合实例形式详细分析了PHP适配器模式Adapter基本概念、功能、原理、用法及操作注意事项,需要的朋友可以参考下2020-05-05
PHP中使用memcache存储session的三种配置方法
下面简单说下PHP项目分布式部署中,SESSION的同步方案中的一种,使用Memcache来存储SESSION。并总结了三种配置方式,需要的朋友可以参考下2014-04-04


最新评论