最新消息:网站改版咯

thinkphp 大小写问题

php Yovae 2037浏览

thinkphp 大小写问题有时候会困扰一些新手,会提示thinkphp App::exec(无法加载模块 )等问题,我们知道,系统默认的规范是根据URL里面的moduleName和actionName来定位到具体的模块类,从而执行模块类的操作方法,如果在Linux环境下面,就会发生URL里面使用小写模块名不能找到模块类的情况,例如在Linux环境下面,我们访问下面的URL是正常的:

http://<serverName>/index.php/User/add

但是,如果使用

http://<serverName>/index.php/user/add

就会出现user模块不存在的错误。因为,我们定义的模块类是UserAction而不是userAction,但是后者显然不符合ThinkPHP的命名规范,显然这样的问题会造成用户体验的下降。

其实,系统本身已经提供了一个很好的解决方案,可以通过配置简单实现。

只要在项目配置中,增加:

‘URL_CASE_INSENSITIVE’ =>   true

就可以实现URL访问不再区分大小写了。

http://<serverName>/index.php/User/add

将等效于

http://<serverName>/index.php/user/add

这里需要注意一个地方,如果我们定义了一个UserTypeAction的模块类,那么URL的访问应该是:

http://<serverName>/index.php/user_type/list

而不是

http://<serverName>/index.php/usertype/list

如果设置

‘URL_CASE_INSENSITIVE’ =>   false

的话,URL就又变成:

http://<serverName>/index.php/UserType/list

通过设置’URL_CASE_INSENSITIVE’ =>   false thinkphp在linux或unix里 大小写问题就解决了。

转载请注明:Yovae Studio » thinkphp 大小写问题