当前位置:  编程技术>php

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

    来源: 互联网  发布时间:2014-08-26

    本文导语:  有用过Zend Framework框架开发过项目的网友都知道 Zend Framework (ZF) MVC中的Controller和Action名称默认是不支持大小写的,这对于已经习惯了驼峰式代码风格的开发人员来说,显然是难以接受的。还好可以设定前端控制器FrontController的u...

有用过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大小写敏感的问题。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 已经安装Zend .但是还是提示Attention: Zend Optimizer not Installed
  • PHP应用服务器 Zend Server
  • linux下安装zend optimizer 问题
  • Zend AMF
  • 文本搜索引擎 Zend Search Lucene
  • 关于Plesk影响zend运行的问题
  • CentOS5.4 安装Zend Optimizer问题
  • Zend项目模板 rphp4zf
  • HTML标签参考手册 iis7站长之家
  • Zend Optimizer
  • 求救:FreeBSD7.1下能用的Zend Optimizer
  • Windows Server 2008 r2 安装Zend Optimizer教程
  • php5.3+zend guard loader安装时出现Segmentation fault
  • 用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
  • PHP集成开发环境 Zend Studio
  • IIS下Zend 出现 Unable to view file mapping 问题的解决方法汇总
  • 阿里云完美教程 Window2003 iis+mysql+php+zend环境配置


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3