thinkphp的匹配php后缀,ThinkPHP的后缀操作方法配置 罢工了

当在配置文件中设置了ACTION_SUFFIX为'Action'后,原本预期的因方法名不符导致的非法操作错误并未出现,系统反而正常运行。这是因为系统会自动查找带有配置后缀的方法名,即使没有显式添加后缀,它也会尝试匹配Action并调用相应控制器的方法。这避免了由于特定命名规则而引发的错误。
摘要由CSDN通过智能技术生成

我添加了一个方法 list

OK报错了

然后去配置后缀

'配置值'

/* 数据库设置 */

'DB_TYPE' => 'mysql', // 数据库类型

'DB_HOST' => 'localhost', // 服务器地址

'DB_NAME' => 'jike', // 数据库名

'DB_USER' => 'user', // 用户名

'DB_PWD' => '123', // 密码

'DB_PORT' => '3306', // 端口

'DB_PREFIX' => 'jikexueyuan', // 数据库表前缀

'LOAD_EXT_CONFIG' => 'user,upload',

/* 应用设定 */

'ACTION_SUFFIX' => 'Action', // 操作方法后缀

);

给系统关键字的方法添加后缀

OK我再去打开浏览器

大家思考一下会出现什么情况

对应该是会继续报错

非法操作index

bVuT7h

但是实际上没有报错非法操作index

而且很正常的运行着

你看前置后置也是正常的???

bVuT7u

为什么?

怎么和课程有出入

不知道是不是我疏忽了什么

单是我真心仔细检查了都没发现是什么原因

刚入门求解惑

回复内容:

我添加了一个方法 list

OK报错了

然后去配置后缀

'配置值'

/* 数据库设置 */

'DB_TYPE' => 'mysql', // 数据库类型

'DB_HOST' => 'localhost', // 服务器地址

'DB_NAME' => 'jike', // 数据库名

'DB_USER' => 'user', // 用户名

'DB_PWD' => '123', // 密码

'DB_PORT' => '3306', // 端口

'DB_PREFIX' => 'jikexueyuan', // 数据库表前缀

'LOAD_EXT_CONFIG' => 'user,upload',

/* 应用设定 */

'ACTION_SUFFIX' => 'Action', // 操作方法后缀

);

给系统关键字的方法添加后缀

OK我再去打开浏览器

大家思考一下会出现什么情况

对应该是会继续报错

非法操作index

bVuT7h

但是实际上没有报错非法操作index

而且很正常的运行着

你看前置后置也是正常的???

bVuT7u

为什么?

怎么和课程有出入

不知道是不是我疏忽了什么

单是我真心仔细检查了都没发现是什么原因

刚入门求解惑

我想你是不是理解错了:

例如,如果设置:

'ACTION_SUFFIX'=>'Act'

那么访问某个模块的add操作对应读取模块类的操作方法则由原来的add方法变成addAct方法。

意味着你在index后面添加Action和不添加,他都会去找实际控制器里面的index方法,因为入口文件会根据你的方法名称匹配是否存在Action字符串,找不到就会去找这个字符串的名称对应的方法!

这样是避免了特殊命名公用报错的问题

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值