zoukankan      html  css  js  c++  java
  • 动态载入配置文件

     

    动态载入配置文件

      
    浏览:2562 发布日期:1970/01/01 分类:3.0.0
    增加动态载入配置文件支持,可以在你的项目配置文件中添加LOAD_EXT_CONFIG定义即可。
    LOAD_EXT_CONFIG参数支持字符串和数组两种方式,代表不同的用法,一般使用比较多的是采用字符串方式定义,例如:
    1. 'LOAD_EXT_CONFIG'=>'user,db';
    复制代码
    多个文件用逗号分隔,不需要添加文件后缀。例如,通过上面的定义后,你的项目就会自动加载下面两个配置文件:
    用户配置文件 项目目录/Conf/user.php
    数据库配置文件 项目目录/Conf/db.php
    动态配置文件支持子目录放置,例如下面可以指定加载debug目录下面的配置文件:
    1. 'LOAD_EXT_CONFIG'=>'debug/user,debug/db';
    复制代码
    通过上面的定义后,你的项目就会自动加载下面两个配置文件:
    用户配置文件 项目目录/Conf/debug/user.php
    数据库配置文件 项目目录/Conf/debug/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_TYPE');
    2. C('USER_AUTH_ID');
    3. C('USER_AUTH_TYPE');
    复制代码

    注意:无论是在定义的时候还是获取的时候,配置参数都不区分大小写。


    但是,这种情况下面如果配置文件较多的话,可能存在冲突的情况,如果希望采用二级配置方式,就需要使用数组方式设置了:
    1. 'LOAD_EXT_CONFIG' => array(
    2.     'USER' => 'user', //用户配置
    3.     'DB'   => 'database', //数据库配置
    4.  ), //加载扩展配置文件
    复制代码
    同样的user.php 配置文件内容,但最终获取用户参数的方式就变成了:
    1. C('USER.USER_TYPE');
    2. C('USER.USER_AUTH_ID');
    3. C('USER.USER_AUTH_TYPE');
    复制代码
    这种方式可以避免大项目情况中的参数冲突问题。
    注意:这种定义方式下面,二级配置参数是区分大小写的,获取的时候必须和定义的时候保持一致。
  • 相关阅读:
    Codeforces Round #499 (Div. 2)
    Codeforces Round #500 (Div. 2) [based on EJOI]
    Codeforces Round #508 (Div. 2)
    Codeforces Round #449 (Div. 2)
    Willem, Chtholly and Seniorious
    【生成树,堆】【CF1095F】 Make It Connected
    【乱搞】【CF1095E】 Almost Regular Bracket Sequence
    【数学】数论进阶-常见数论函数
    【数论】数论进阶-Preknowledge
    【cdq分治】【CF1093E】 Intersection of Permutations
  • 原文地址:https://www.cnblogs.com/geniusxjq/p/4139202.html
Copyright © 2011-2022 走看看