在配置文件中设置模版替换参数的时候,会出现常量没有被解析的情况。
比如GROUP_NAME就不能在Conf/config.php里使用,因为在调用config.php的时候,还没有定义GROUP_NAME
ThinkPHP\Lib\Core\Think.class.php里面的buildApp方法中先读取配置文件然后才引入的Dispatcher.class.php(URL调度类)。
所以会出现不解析的情况。
方法/步骤
-
ThinkPHP\Lib\Core\Think.class.php里面的buildApp方法中先读取配置文件然后才引入的Dispatcher.class.php(URL调度类)
如图
-
Dispatcher.class.php里才定义了GROUP_NAME。
-
在不改变原有框架定义常量的顺序(就算这次提前定义了GROUP_NAME,下次也许还会有别的常量)。我们最好是在ThinkPHP\Lib\Behavior\ContentReplaceBehavior.class.php里做定义。
在这里面就可以使用我们经常调用的常量了,然后再和配置文件中的参数再做一个array_merge()合并。再对模版文件进行替换。