不同场景可能需要的配置不同,就可以通过扩展场景配置来设置不同的配置(在家和办公时可能环境不同使用的数据库不同,就可以设置不同的场景配置)
场景配置,更换数据库例
需要切换环境时只需改变conf\extra\config.php文件
<?php
return [
'app_status' => 'office',
--------
];
conf文件夹下可新建办公或家数据库配置文件,分别为office.php、home.php。配置数据库内容要复制齐全。
<?php
return [
'app_address' => 'office',
'database'=> [
'type' =>‘mysql',
---------
]
]
如果使用场景配置文件,就要配置该场景的所有项。如果我们需要配置数据库,就需要配置数据库的所有项。
方便场景切换,如家里办公环境和公司办公环境的切换。
框架已经写好方法,app_status会跳转到你指向的php文件
模块配置:应用于不同场景(家/公司/其他场合)的配置
5.1的场景配置不同显app_status没起作用,还需要做验证
配置文件执行顺序 conf/extra/database.php > conf/database.php > thinkphp/convention.php
在不同的环境中使用不同的配置文件叫场景配置
在conf/config.php文件中加多一项:
home场景时就加conf/home.php文件,office环境就加一个conf/offic.php文件,下面的值也改成offic
'app_status' => 'home',
home场景时就在conf里加一个home文件
场景配置文件 conf/home.php可以跟conf/config.php文件执行array_merge()操作
database会替换掉全部,所以需要全部复制。tp5的bug
场景配置是在应用配置里可以把app_status的值设置成不同的场景,然后配置目录里以场景为文件名的文件里配置不同的配置值适应不同的环境,比如为家里和公司场景配置不同的数据库配置
场景配置用于不同的场景。利用应用配置config.php,创建新的配置'app_status'取不同场景的值如home,在conf创建不同的文件如home.php
database会替换掉全部,所以需要全部复制。tp5的bug
场景配置时需要配置所有database项
场景配置是环境配置的基础 环境配置就是手动修改.env文件后传递status值
配置文件执行顺序 conf/extra/database.php > conf/database.php > thinkphp/convention.php
在不同的环境中使用不同的配置文件叫场景配置
在conf/config.php文件中加多一项:
home场景时就加conf/home.php文件,office环境就加一个conf/offic.php文件,下面的值也改成offic
'app_status' => 'home',
home场景时就在conf里加一个home文件
场景配置文件 conf/home.php可以跟conf/config.php文件执行array_merge()操作
场景配置:
举例操作:
1、在应用目录的配置文件(与app同级的conf/config.php)添加'app_status' =>'home';
2、然后在conf目录下创建一个home.php文件写入配置选项,例如数据库等信息
注意:如果配置场景数据库,需要把配置项全都配置一遍,所以需要把databse配置复制过来进行修改再写一遍
场景配置:不同办公环境中,使用不同配置
场景配置
1.为什么需要场景配置:不同的开发环境可能有一些配置不同,例如在家开发项目和在公司开发项目用的不是同一台电脑,那么这两台电脑上安装的数据库软件的密码可能就不同,在环境切换过程中不可能将不同的配置一一做更改,这样太麻烦
2.如何实现场景配置:
a.tp5提供了一个惯例参数app_status,只需要改变它的值就能实现一键修改平滑的切换运行环境
b.app_status惯例参数对应的值表示应用哪个运行环境配置文件,该文件的文件名即为该参数的值,文件中的配置参数即为目前所需环境的参数配置
步骤:在conf文件夹下的config.php应用配置文件里设置数组‘app_status’=>'home'或'office',来控制切换场景,再在conf文件夹下创建 home.php或office.php两个文件;在这两个文件里进行相应的配置就行了;切换办公环境的时候,直接修改config.php应用配置文件里的数组‘app_status’的值为'home'或'office'就行了;
需要注意的是如果使用场景配置(即home.php或office.php)修改数据库配置,则需要把数据库配置的所有项都写上,原来的数据库参数会被现有数据库参数全部替换,而不是替换不同项!修改其他配置也一样,如果这个配置是个数组,则需要把每一项都拷贝到场景配置文件里
场景配置:选择不同的场景,加载不同的配置,
如果使用场景配置修改数据库配置,则需要把所有的数据库配置项都写上,原来的数据库参数会被现有数据库参数全部替换,而不是替换不同项!