environments 是怎么使用的? [ 2.0 版本 ]
environments 配置文件,看了下介绍,感觉还不是很理解,即我跑了 init 文件后,自动切换到 dev 或者 prod 的配置吗?例如切换到 prod,是将 prod 文件下的各个 config 配置写入到各个模块里面去吗,还是只是使用 environments 配置文件里的配置,配置的优先级应该是怎么排的?
最佳答案
-
执行
init
,然后选择dev
或者prod
,会做以下操作:
1.将environments
目录下对应目录(比如dev
)的所有文件复制到项目根目录下;
2.给几个文件(main-local.php
)设置cookieValidationKey
值;
3.设置目录可写(runtime
);
4.设置文件可执行(yii
);
具体的你可以查看environments/index.php
中的注释部分。共 2 条回复至于你说的配置文件的优先级,你可以看看入口文件
index.php
的加载流程:$config = yii\helpers\ArrayHelper::merge( require __DIR__ . '/../../common/config/main.php', require __DIR__ . '/../../common/config/main-local.php', require __DIR__ . '/../config/main.php', require __DIR__ . '/../config/main-local.php' );
ArrayHelper::merge()
方法会将require
到的配置数组合并,并且是后面的覆盖前面的。
所以,骚年,你明白了吗?zcx147716565 回复于 2019-02-17 13:09 回复谢谢大佬!
其他 2 个回答
zcx147716565 广州
注册时间:2017-03-10
最后登录:2021-01-12
在线时长:69小时38分
最后登录:2021-01-12
在线时长:69小时38分
- 粉丝9
- 金钱12500
- 威望20
- 积分13390