thinkphp5 读取配置文件属性

 

配置文件优先等级

        加载顺序:

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

        优先级:

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

        从右往左,右边配置文件 的配置会 覆盖 左边配置文件 的配置

一、惯例配置

        路径:thinkphp/convention.php

        一般情况下,不对惯例配置进行修改!

二、应用配置

        路径:application/config.php

三、扩展配置(对配置文件分目录管理)

        1、数据库配置

              路径:application/database.php

         2、自定义扩展配置

              路径:extend目录下,新建配置项文件

四、场景配置(不同场景,读取不同的配置文件)

          配置修改:

                  修改应用配置文件application/config.php中的app_status属性值,然后在config.php同级目录下,新建名为‘name1’的配置文件。该配置文件可以有多个,根据不同场景,赋予app_status不同的配置属性

  // 应用模式状态
    'app_status'     => 'name1',

五、模块配置(不用模块读取不同配置文件)

       根据应用模块的不同(如前台页面模块和后台管理系统模块),单独调用不同的配置文件。

        例如,在application/index目录下,新建一个config.php文件,前台模块自动读取该配置文件内的配置参数;

         同理。在application/admin目录下,新建一个config.php文件,后台模块自动读取该配置文件内的配置参数。

六、动态配置(临时性的配置)

        通过config()等方法,在代码文件中,修改配置文件的某个属性的值:

config('name','newname');//修改配置文件的原属性的值

七、环境变量

         创建:

                 在根目录下,创建 .env 文件(通过编辑器创建),书写规范(不能使用中文)

namme='zhangsan'
age=12

//或者
[database]
type='mysql'
root='root'

          调用:

                  通过Env类调用(可以在前面6个配置文件中,引入环境变量,通过修改环境变量,从而达到修改配置文件的效果)

use \think\Env ; //引入环境变量

//  Env::get('name');
//  Env::get('database.type');

//属性不存在
//Env::get('属性名称','不存在属性值');


  // 数据库类型
    'type'            => Env::get('database.type'),

 

读取配置文件 

在惯例配置文件中添加如下配置:

 //自定义配置
//单个配置信息
    'name' => 'zhangsan',
    'age' => 30,

//数组型配置信息
 'teacher' => [
        'name'    => 'xiaowang',
        'age' => 29,
    ],

        1、通过系统方法调取:

//单个配置属性
$conf = config('name');

//数组配置,返回数组
 $conf = config('teacher');

//返回数组配置下的某一项属性
$conf = config('teacher.name');

       2、通过系统类调用

//引用类
use \think\Config;

//调用类方法
$conf = Config::get('age');

//数组配置,返回数组
 $conf = Config::get('teacher');

//返回数组配置下的某一项属性
$conf = Config::get('teacher.name');


//或者直接调用类里面的方法
$conf = \think\Config::get('age');

//数组配置,返回数组
 $conf = \think\Config::get('teacher');

//返回数组配置下的某一项属性
$conf = \think\Config::get('teacher.name');

         3、调用扩展配置项

config('扩展文件名'.'属性');
config('扩展文件名');//该扩展配置的所有内容

config('database.hostname');//数据库扩展配置
config('自定义扩展配置名'.'属性');//自定义扩展配置

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值