Tp5.0完全开发手册学习(第三章 配置)

一、配置形式:

        惯例配置:thinkphp/convention.php(一般不更改)

        应用配置:app/config.php

        扩展配置:app/database.php     app/extra/用户自定义配置文件

        场景配置:①app/config.php(‘app_status’=>'')②在application下新建对应的php文件③配置属性return[]

        模块配置:在模块文件夹下新建config并写入return配置

        动态配置:①系统方法:config(‘属性’,‘属性值’);

                        ②系统类:Config::set(‘属性’,‘属性值’);

二、配置格式:

        数组格式:

//项目配置文件
return [
    // 默认模块名
    'default_module'        => 'index',
    // 默认控制器名
    'default_controller'    => 'Index',
    // 默认操作名
    'default_action'        => 'index',
    //更多配置参数
    //...
];

       其他配置格式:

        1)默认方式为PHP数组方式定义配置文件,你可以在入口文件定义CONF_EXT常量来更改为其它的配置类型:

            // 更改配置格式为ini格式

            define('CONF_EXT', '.ini');

        2)配置文件

            

ini格式配置示例:

default_module=Index ;默认模块
default_controller=index ;默认控制器
default_action=index ;默认操作

xml格式配置示例:

<config>
<default_module>Index</default_module>
<default_controller>index</default_controller>
<default_action>index</default_action>
</config>

json格式配置示例:

{
"default_module":"Index",
"default_controller":"index",
"default_action":"index"
}

 三、二级配置:

    Config::set([]);

    Config::get([]);

四、配置加载:

        惯例配置->应用配置->扩展配置->场景配置->模块配置->动态配置

五、优先级:

       动态配置-> 模块配置->场景配置->扩展配置->应用配置->惯例配置

六、实现原理:

       $data1=array('name'=>'惯例','a'=>'a');

       $data2=array('name'=>'应用','b'=>'b');

       dump_merge($data1,$data2);

    #输出结果是后面加载的配置把前面加载匹配的同名覆盖

七、环境变量配置(不支持中文)

       环境变量中设置的app_debug和app_trace参数会自动生效(优先于应用的配置文件),其它参数则必须通过Env::get方法才能读取。

猜你喜欢

转载自blog.csdn.net/lugr_shx/article/details/80167741
今日推荐