zendframework框架中url大小写问题解决方法
2023-06-13 09:15:43 时间
有用过ZendFramework框架开发过项目的网友都知道ZendFramework(ZF)MVC中的Controller和Action名称默认是不支持大小写的,这对于已经习惯了驼峰式代码风格的开发人员来说,显然是难以接受的。还好可以设定前端控制器FrontController的useCaseSensitiveActions参数来让ZendFramework支持大小写的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大小写敏感的问题。
相关文章
- 干货请收好:终于有人把用户画像的流程、方法讲明白了「建议收藏」
- 一文搞懂基因融合(gene fusion)的定义、产生机制及鉴定方法[通俗易懂]
- oracle错误904解决方法_oracle错误12154
- wordpress 为自定义类型文章新增自定义字段的方法-文曦博客
- php实现图片添加描边字和马赛克的方法
- 【EventBus】事件通信框架 ( 订阅类-订阅方法缓存集合 | 事件类型-订阅者集合 | 订阅对象-事件类型集合 )
- CVPR 2021 | 破坏方法失效,新框架MagDR让Deepfake稳定难攻
- 【深入浅出Spring原理及实战】「源码调试分析」深入源码探索Spring底层框架的的refresh方法所出现的问题和异常
- Python的Flask框架使用Redis做数据缓存的配置方法
- Ubuntu18.04一次性升级Python所有库的方法步骤
- [javaSE] 集合框架(共性方法)详解编程语言
- JAVA中线程同步的方法详解编程语言
- 删除Oracle数据库表:方法与注意事项(oracle数据库删除表)
- MySQL 处理二进制数据的方法(mysql二进制数据)
- Yii框架下Redis主从架构实现方法简介(yiiredis主从)
- MySQL语句引用符号:反引号的使用方法(mysql反引号)
- 学习Linux SSH:完成安装和使用方法(linuxssh教程)
- 残留数据解决MYSQL残留数据:彻底清除一切的方法(彻底清除mysql)
- 快速构建Linux软件包的方法(make linux包)
- JqueryAJAX框架的使用方法
- JavaScript未结束的字符串常量常见解决方法
- 使用AjaxPro.Net框架实现在客户端调用服务端的方法
- 出错也不怕—Linux系统紧急情况处理方法
- phpMyAdmin自动登录和取消自动登录的配置方法
- CI框架入门示例之数据库取数据完整实现方法
- Yii框架获取当前controlle和action对应id的方法
- ThinkPHP框架实现session跨域问题的解决方法
- C#应用XML作为数据库的快速开发框架实现方法
- Laravel框架中扩展函数、扩展自定义类的方法
- SpringMVC框架搭建配置方法及详解