Blogger Information
Blog 31
fans 0
comment 0
visits 24379
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Day42-2018/1/17(thinkphp5配置)
SmallKing的博客
Original
737 people have browsed it

1、一个商城系统中有商品数据库和会员数据库,如何访问这两个数据库呢?
答:利用模块配置完成,商品模块加载商品数据库的配置文件访问,会员数据库用会员数据库的DSN的配置文件访问
2、如何切换开发环境与生产环境?
答:通过场景配置 config.php中指定:app_status参数来改变配置文件加载。
3、如何优化配置文件
答:可以通过在入口文件中使用CONF_PATH常量自定义配置目录

一、配置目录
配置文件的存放目录。

二、配置格式
.php、.xml、.json、.yaml、.ini

三、配置加载
1、将配置文件加载到系统中。
2、配置文件会自动加载到系统中
3、配置文件的优先级
惯例配置<应用配置<扩展配置<场景配置<模块配置<动态配置
惯例配置:thinkphp\convention.php
应用配置:application\config.php
扩展配置:application\extra\目录下的所有文件
场景配置:config.php中通过指定:app_status参数改变配置文件加载
模块配置:application\当前模块\config.php
动态配置:一般指在控制器中做的配置,使用Config::set('配置项名称','配置项值');
Config::set('default_return_type','Html');

QQ图片20180118165341.png

四、读取配置
读取配置文件中的内容
1、读取所有配置:Config::get();
Config::get();
2、读取一项配置:Config::get('配置项目1');
Config::get('default_return_type');
五、动态配置
一般是在控制器中设置配置项
Config::set('配置项名称','配置项的值');
Config::set('default_return_type','Html');
批量设置:Config::set(配置项目数组);或:config(配置项目数组);
$config=[
'default_return_type'=>'HTML',
'default_ajax_return'=>'JSON'
];
Config::set($config);

六、独立配置(扩展配置)
指分离的多个配置文件

七、配置作用域
相当于给配置加了一个命名空间,作用:用于配置的隔离
1、加载配置:Config::load('配置文件的绝对路径','配置项名称','作用域的名称');

class Index
{
public function index()
{
Config::set('default_return_type','Html','range');
$res=Config::get('','range');
dump($res);
}
}

八、环境变量配置
在项目根目录下用.env文件做配置
配置内容:.ini风格;配置项名称=配置项值
九:优化配置文件
可以通过在入口文件中使用CONF_PATH常量自定义配置目录


 [ 应用入口文件 ]

 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
自定义配置目录
define('CONF_PATH', __DIR__ . '/../config/');
 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post