开发tp5.1提示控制器不存在,关于控制器类名thinkPHP的驼峰法命名

本文详细解析ThinkPHP5框架中URL自动转换功能及其对控制器命名的影响,包括首字母大写规则、URL大小写敏感性和关闭自动转换的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天刚学习thinkphp开发,控制器名字规范

1.一个是首字母大写(Demo)

<?php
namespace app\index\controller;

class HelloWorld 
{
    public function index()
    {
        return 'hello,world';
    }
}

2.因为框架的URL自动转换功能,默认系统的URL自动转换功能,ThinkPHP5的URL地址默认是不区分大小写的(也就是说都会强制转换成小写)

例如:Demo-->转换为demo,而我们新建一个名称为HelloWorld的时候,并不会对应为helloworld而是对应hello_world。我刚也是犯这个错误,查了好久才知道的。 

而且命名不要使用Hello_World的方式命名,因为不符合控制器类的命名规范。并且hello_world并不会自动对应hello_world控制器,仍然会自动对应HelloWorld控制器类。

3.当然我们可以设置关闭URL自动转换:

'url_convert'            => false,

这时候就得严格按照大小写访问:http://你的服务地址/index.php/控制器/HelloWorld/index

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值