zend framework框架中url大小写问题解决方法

2015-01-24信息快讯网

这篇文章主要介绍了zend framework框架中url大小写问题解决方法,包括action控制器和请求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大小写敏感的问题。

为PHP5.4开启Zend OPCode缓存
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
php实现refresh刷新页面批量导入数据的方法
腾讯微博提示missing parameter errorcode 102 错误的解决方法
CentOS6.5 编译安装lnmp环境
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
phpmyadmin提示The mbstring extension is missing的解决方法
PHP中__FILE__、dirname与basename用法实例分析
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
php中getservbyport与getservbyname函数用法实例
php中rename函数用法分析
php 模拟 asp.net webFrom 按钮提交事件实例
PHP+iFrame实现页面无需刷新的异步文件上传
ThinkPHP后台首页index使用frameset时的注意事项分析
php数组索引的Key加引号和不加引号的区别
深入理解PHP中的global
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
PHP管理依赖(dependency)关系工具 Composer 安装与使用
PHP命名空间(namespace)的动态访问及使用技巧
PHP命名空间(namespace)的使用基础及示例
Zend Framework 2.0事件管理器(The EventManager)入门教程
PHP使用Session遇到的一个Permission denied Notice解决办法
PHP中的gzcompress、gzdeflate、gzencode函数详解
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
Zend Framework页面缓存实例
非常好用的Zend Framework分页类
Yii Framework框架获取分类下面的所有子类方法
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
©2014-2024 dbsqp.com