thinkphp5.0学习(三):配置相关

一、配置文件的格式:支持多种配置格式,但最终都会转化成数组

return [
    // 应用命名空间
    'app_namespace'          => 'app',
    // 应用调试模式
    'app_debug'              => true,
    // 应用Trace
    'app_trace'              => true,
    // 应用模式状态
    'app_status'             => ''
   ];

二、配置形式

1.惯例配置

  1. 惯例配置目录(项目\thinkphp\convention.php)
  2. 注意:一般不要修改惯例配置

2.应用配置

  1. 应用配置目录(项目\application\config.php)

3.扩展配置

  • 扩展配置 
    其实就是对配置文件进行分目录的管理
  • 扩展目录 
    项目\application\database.php 
    项目\application\extra\用户自定义配置文件
  • 读取database扩展配置

        //读取database中的扩展项
        dump(config('database.database'));
        //读取所有的database扩展
        dump(config('database'));
  • 自定义扩展配置

    1. 在扩展目录(项目\application\extra)下新建user.php
    2. 打开文件书写配置
    <?php
        return [
            "name"=>"xiaoli",
            "age"=>15
        ];
    ?>
  • 读取自定义扩展配置

    // 读取用户自定义
    dump(config('user'));
    dump(config('user.name'));
    // 读取扩展配置
    public function getkuozhan(){
        // 读取database扩展
        dump(config('database.database'));
        dump(config('database'));
        echo "<hr>";
        // 读取用户自定义
        dump(config('user'));
        dump(config('user.name'));
    }

4.场景配置(用于切换数据库配置文件)

  • 解决问题 
    开发过程中可能在不同的环境下开发
  • 如何使用 
    1.修改应用配置(项目\application\config.php) 
    ‘app_status’=>’home’, 
    2.在应用目录下新建(项目\application)新建对应home.php 
    3.在home.php中书写相关配置

5.模块配置

  • 解决问题 
    每一个模块,都由自己的特有的配置
  • 如何使用(以前台模块为例) 
    1.在前台模块下(项目\application\index)新建config.php 
    2.打开配置文件书写

6.动态配置

  • 系统方法

        //config(参数1,参数2);
        config('name','php开发');
  • 系统类

        \think\Config::set('name','WEB前端');
    
        use \think\Config;
        Config::set('name','小程序开发');

三、读取配置文件

1.通过系统类

\\如果配置项存在 直接输出 不存在返回null
echo \think\Config::get('name');
dump(\think\Config::get('lover'));
dump(\think\Config::get('lover.name'));

2.通过系统方法

echo config('name');
dump(config('lover'));
dump(config('lover.name'));
\\读取所有
config();

3.使用use

    use \think\Config;
    echo Config::get('name');
    dump(Config::get('lover'));
    dump(Config::get('lover.name'));


    // 读取convention.php文件中的配置信息
    public function getConfig(){
        // 方法一:通过系统方法读取配置
        echo config("name");
        // 方法二:通过系统类读取配置
        // 如果配置项存在直接输出,不存在返回null
        echo \think\Config::get("name");
        var_dump(\think\Config::get("agg"));
        // 方法三:使用use
        echo Config::get('name');
    }

四、系统类(项目\thinkphp\library\think)使用时 类::方法

Config 设置和获取配置文件

五、系统方法(项目\thinkphp\helper.php)直接使用

controller 实例化控制器
action 调用模块的操作方法
config 设置和获取配置
dump 浏览器友好的输出变量

六、配置文件之间的加载顺序

1.优先级

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

2.加载顺序

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

3.配置实现原理

    后面加载的数据,对前面的数据进行同名覆盖

七、环境变量配置

  1. TP5.0支持环境变量配置
  2. 设置环境变量配置 
    a.打开网站根目录(项目)新建.env 
    b.书写环境配置

    name=tiantian
    age=18
    sex=nan
    app_debug=true
    [database]
    type=mysql
    root=root
    password=123

    注意:不能使用汉字

  3. 读取环境配置 
    a.命名空间

    dump(\think\Env::get('name'));
    dump(\think\Env::get('abc','不存在'));

    b.使用use

    use \think\Evn;
    dump(Evn::get('name'));
    dump(Env::get('database')); //null读取不到整个数组
    dump(Env::get('database.type'));
  4. 如何使用 
    打开配置文件

    use \think\Env;
    return [    
        // 应用调试模式
        'app_debug'              => Env::get('app_debug',false)
        ];

猜你喜欢

转载自blog.csdn.net/qq_35396905/article/details/81180355