ThinkPHP添加扩展配置失败

时间:2023-10-26 13:03:44

扩展配置可以支持自动加载额外的自定义配置文件,并且配置格式和项目配置一样。设置扩展配置的方式如下(多个文件用逗号分隔):

  1. // 加载扩展配置文件
  2. 'LOAD_EXT_CONFIG' => 'user,db',

假设扩展配置文件user.phpdb.php分别用于用户配置和数据库配置,这样做的好处是哪怕以后关闭调试模式,你修改db配置文件后依然会自动生效。

如果在应用公共设置文件中配置的话,那么会自动加载应用公共配置目录下面的配置文件Application/Common/Conf/user.phpApplication/Common/Conf/db.php

如果在模块(假设是Home模块)的配置文件中配置的话,则会自动加载模块目录下面的配置文件 Application/Home/Conf/user.phpApplication/Home/Conf/db.php

默认情况下,扩展配置文件中的设置参数会并入项目配置文件中。也就是默认都是一级配置参数,例如user.php中的配置参数如下:

  1. <?php
  2. //用户配置文件
  3. return array(
  4. 'USER_TYPE' => 2, //用户类型
  5. 'USER_AUTH_ID' => 10, //用户认证ID
  6. 'USER_AUTH_TYPE' => 2, //用户认证模式
  7. );

那么,最终获取用户参数的方式是:

  1. C('USER_AUTH_ID');

按照上面官方开发手册做好了配置,主要配置在Application/Common/Conf/config.php,加载的配置在Application/Common/Conf/extension.php,运行测试后发现调用C函数无法读取配置,连'LOAD_EXT_CONFIG'的值都输出为null。

多次调试后才发生时缓存的问题,清空了Runtime目录下的内容即可。

相关文章