🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
驼峰命名 控制器类名的规范是驼峰法(并且首字母大写),不过URL的访问地址并非如此,假设定义了一个HelloWorld控制器如下: ~~~ <?php namespace app\index\controller; class HelloWorld { public function index() { return 'hello,world'; } } ~~~ 实际的URL访问并非是下面的 ~~~ http://tp5.com/index/HelloWorld/index ~~~ 实际会被系统解析成Helloworld控制器类而不是HelloWorld控制器类(虽然只是大小写的区别但按照PSR-4自动加载规范无法自动加载,因此会报Helloworld控制器类不存在的错误)。 正确的URL访问应该是 ~~~ http://tp5.com/index/hello_world/index ~~~ > 注意:hello_world并不会自动对应hello_world控制器(因为不符合控制器类的命名规范),仍然会自动对应HelloWorld控制器类。原因就是框架的URL自动转换功能,由于系统的URL自动转换功能,ThinkPHP5的URL地址默认是不区分大小写的(也就是说都会强制转换成小写)。但事情没有绝对,我们可以设置关闭URL自动转换: ~~~ 'url_convert' => false, ~~~ 一旦关闭url_convert自动转换,就意味着URL地址中的控制器名不会自动转换,必须严格使用实际的控制器名(区分大小写)。 这个时候,你就可以通过 ~~~ http://tp5.com/index/HelloWorld/index ~~~ 正常访问HelloWorld控制器了^_^