php配置加载器

模板网 2021-04-19

配置加载器

当我们使用App::cfg系列方法获取配置时,wulaphp是通过配置加载器先加载配置然后再返回配置项对应值的(当然可以返回整个配置数组)。配置加载器ConfigurationLoader有两个方法:

  1. loadConfig - 加载普通配置并返回Configuration实例或其子类的实例。
  2. loadDatabaseConfig - 加载数据库配置并返回DatabaseConfiguration实例。

除了上边的两个方法还有两个方法(来自BaseConfigurationLoader):

  1. beforeLoad - 加载默认配置前执行
  2. postLoad - 加载默认配置后执行

默认的加载器已经可以很好的工作了,如果不能满足你,请自定义你的配置加载器。默认配置在应用(App)启动时加载(具体加载流程见请求处理),其它组的配置则按需加载。

自定义配置加载器

如果你不想从php文件加载配置甚或你不想从本地加载配置,你都可以自己实现配置加载器按你自己需要去加载配置,只要记得最后返回一个Configuration实例就行。下边代码示例从ini文件(也放在conf目录下)加载配置:

class MyConfigurationLoader extends ConfigurationLoader {
    public function loadConfig($name = 'default') {
        $config = new Configuration($name);
        $file   = CONFIG_PATH . $name . '.ini';
        if (is_file($file)) {
            $cfg = parse_ini_file($file, true);
            if ($cfg) {
                $config->setConfigs($cfg);
            }
        }

        return $config;
    }
}

O了,自定义加载器完成,可以加载普通的配置了,要想加载『数据库配置』请实现loadDatabaseConfig方法。

使用自定义配置加载器

有了自定义加载器类就可以修改bootstrap.php文件中的CONFIG_LOADER_CLASS常量了:

define('CONFIG_LOADER_CLASS', 'MyConfigurationLoader');

重点说明: 要写全类名(包含命名空间的)。

自定义加载器完成。

相关文章

  1. 虚拟环境-virtualenv

    在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。 如果我们要同时开发多个应用程序,那

  2. redis的安装配置

    先介绍mac的安装方法 一、安装(首先你要先安装brew工具) brew install redis 然后在终端的末尾你会发现如下: if you don't want/need a backgr

  3. Sublime Text 快捷键汇总

    [TOC] 快捷键 作用 command+q 退出sublime command+w 退出当前正在编辑的文件 command+e 使用所选内容查找 command+r 跳转定

  4. redis 主从复制

    一、集群的作用 1.主从备份 防止主机宕机 2.读写分离 分担master的任务 3.任务分离,如从服务器分别担任备份工作与计算工作 二、redis集群配置 Master配置 1、关闭rdb快照

  5. 编程常用词汇表

    这里整理了一些常用词汇,供在编码中使用: 通用 数学 列表 时间 图像 文件目录 执行 业务 用户相关 文章相关 商品相关 优惠券相关 订单相关 这里总结了一些软件开发中常用的词汇,如

随机推荐

  1. 虚拟环境-virtualenv

    在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。 如果我们要同时开发多个应用程序,那

  2. redis的安装配置

    先介绍mac的安装方法 一、安装(首先你要先安装brew工具) brew install redis 然后在终端的末尾你会发现如下: if you don't want/need a backgr

  3. Sublime Text 快捷键汇总

    [TOC] 快捷键 作用 command+q 退出sublime command+w 退出当前正在编辑的文件 command+e 使用所选内容查找 command+r 跳转定

  4. redis 主从复制

    一、集群的作用 1.主从备份 防止主机宕机 2.读写分离 分担master的任务 3.任务分离,如从服务器分别担任备份工作与计算工作 二、redis集群配置 Master配置 1、关闭rdb快照

  5. 编程常用词汇表

    这里整理了一些常用词汇,供在编码中使用: 通用 数学 列表 时间 图像 文件目录 执行 业务 用户相关 文章相关 商品相关 优惠券相关 订单相关 这里总结了一些软件开发中常用的词汇,如