【YII2.0高级模板】配置和环境 [ 2.0 版本 ]
在配置上一般有以下问题:
- 每个团队成员都会有自己的配置项,提交这样的配置项将会影响其他团队成员;
- 生产库密码和API密钥不应该出现在代码库中;
- 有多个服务器环境的情况:开发、测试、生产;每一种环境应该有自己的配置项;
- 每种情况都去定义所有的配置选项,是非常重复且要花大量时间去维护。
为了解决这些问题,yii引入了一种简单的环境概念。每一种环境被一套在environments
目录中的文件所表示。init
命令用于切换这些环境。它所做的就是从环境目录复制一切交给根目录下的所有应用程序。
默认有2套环境:dev
和prod
。前者是开发环境,它包含所有的开发工具和调试启用;后者用于服务器部署,它的debug和开发工具都是关闭的。
典型的环境包含应用启动文件(比如index.php
)和诸如以-local.php
后缀的配置文件。这些或者是团队成员个人的配置(通常用于dev
环境),或者是特定服务器的配置。比如,生产库链接就可能在prod
环境的-local.php
配置中。这些本地的配置文件被添加到.gitignore
文件中,以至于不会被提交到源代码库中。
为了避免重复的配置覆盖对方,比如,frontend应用按以下的顺序读取配置:
common/config/main.php
common/config/main-local.php
frontend/config/main.php
frontend/config/main-local.php
Parameters按以下的顺序读取配置:
common/config/params.php
common/config/params-local.php
frontend/config/params.php
frontend/config/params-local.php
后面的配置文件会覆盖掉前面的配置文件
下面是完整的方案:
原英文链接:https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/structure-environments.md
jimmyfu
注册时间:2015-12-16
最后登录:2017-01-16
在线时长:15小时5分
最后登录:2017-01-16
在线时长:15小时5分
- 粉丝6
- 金钱2090
- 威望20
- 积分2440
共 2 条评论
我有百分之个90的把握你不会再更新了
会更新的。
谢谢,很赞。。