thinkphp的配置问题

大兄弟 2019年03月11日0   75

最近在做插件功能,遇见tp3.2一个很矛盾的写法,先看图

image.png

这是在ThinkPHP/Conf/convention.php中的一项配置,其实看上去这是一个很合理的写法

但是有一天我们想把它改变为false时,虽说最后在控制器是已经为false,但是我们想要的效果却没有给我们展现出来。

所以我特地去看了相关的代码,结果发现系统使用这个参数是在 加载惯例配置之后和加载应用之前  的,所以用户自定义的CHECKCK_APP_DIR并没有被系统使用,才会导致功能效果没有被改变。代码如图,App::run()执行后才会加载由用户自定义的应用配置。

image.png

解决办法当然是很简单,只需改变ThinkPHP/Conf/convention.php中的对应值即可。

结合整个框架的写法习惯,其实这个配置应该改为常量配置的,这样既能很好地管理,也能很好地去实现功能。