yii2 配置文件加载顺序, 以及调用自定义配置信息。

在配置上一般有以下问题:

  1. 每个团队成员都会有自己的配置项,提交这样的配置项将会影响其他团队成员;
  2. 生产库密码和API密钥不应该出现在代码库中;
  3. 有多个服务器环境的情况:开发、测试、生产;每一种环境应该有自己的配置项;
  4. 每种情况都去定义所有的配置选项,是非常重复且要花大量时间去维护。

为了解决这些问题,yii引入了一种简单的环境概念。每一种环境被一套在environments目录中的文件所表示。init命令用于切换这些环境。它所做的就是从环境目录复制一切交给根目录下的所有应用程序

默认有2套环境:devprod。前者是开发环境,它包含所有的开发工具和调试启用;后者用于服务器部署,它的debug和开发工具都是关闭的。

典型的环境包含应用启动文件(比如index.php)和诸如以-local.php后缀的配置文件。这些或者是团队成员个人的配置(通常用于dev环境),或者是特定服务器的配置。比如,生产库链接就可能在prod环境的-local.php配置中。这些本地的配置文件被添加到.gitignore文件中,以至于不会被提交到源代码库中。

为了避免重复的配置覆盖对方,比如,frontend应用按以下的顺序读取配置:

  1. common/config/main.php
  2. common/config/main-local.php
  3. frontend/config/main.php
  4. frontend/config/main-local.php

Parameters按以下的顺序读取配置:

  1. common/config/params.php
  2. common/config/params-local.php
  3. frontend/config/params.php
  4. frontend/config/params-local.php

后面的配置文件会覆盖掉前面的配置文件

 

调用时,用以下命令,即可调用配置

yii\base\Application::params

该属性为一个数组,指定可以全局访问的参数,代替程序中硬编码的数字和字符,应用中的参数定义到一个单独的文件并随时可以访问是一个好习惯。 例如用参数定义缩略图的长宽如下:

[
    'params' => [
        'thumbnail.size' => [128, 128],
    ],
]

 

然后简单的使用如下代码即可获取到你需要的长宽参数:

$size = \Yii::$app->params['thumbnail.size'];
$width = \Yii::$app->params['thumbnail.size'][0];

 

这样就可以自定义一些参数,  或通过file_put_contents  来随时写入配置。

转载于:https://www.cnblogs.com/cocoliu/p/5170944.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值