ThinkPHP提供了灵活的全局配置功能,采用最有效率的PHP返回数组方式定义,支持惯例配置、公共配置、模块配置、扩展配置、场景配置、环境变量配置和动态配置。
对于有些简单的应用,你无需配置任何配置文件,而对于复杂的要求,你还可以扩展自己的独立配置文件。
系统的配置参数是通过静态变量全局存取的,存取方式简单高效。
配置功能由\think\Config类完成。
thinkphp配置类型有哪些?
1.在thinkphp中,有6种配置。即惯例配置,应用配置、扩展配置、模块配置、场景配置、动态配置。
2.惯例配置就是系统默认的配置。
3.应用配置就是我们自己开发创建的应用单独的配置。
4.扩展配置主要是实现我们项目在开发过程中有一些扩展程序用到的配置。
5.模块配置就是我们在一个应用中,每一个模块的配置。
6.场景配置主要是实现我们在不同的开发环境中设置的配置。若我们在家里面办公,电脑环境可能不一样;公司里面办公,公司的电脑环境有不一样。
7.动态配置在我们模块中开发实现的动态配置。如我们在某一个控制器中定义数据库的配置。
脚本与配置
配置类型和位置
惯例配置:通用全局配置
thinkphp5_1/thinkphp/convention.php
应用配置:App应用,后台配置
thinkphp5_1/application/config.php
拓展配置:对真个配置文件分类管理(分目录)
thinkphp5_1/application/database.php
thinkphp5_1/application/extra/自定义配置文件场景配置:环境切换配置:
thinkphp5_1/application/config.php
// 应用模式状态
‘app_status’ => ‘home’, application新建对应home文件,编写配置
‘app_status’ => ‘office’, application新建对应office文件,编写配置模块配置:模块特有,对应模块config.php
thinkphp5_1/application/admin
动态配置:临时性配置,执行的时候设置
设置动态配置
系统方法:
config('name', 'PHP动态配置');
系统类:
\think\Config::set('name', 'PHP动态配置');
读取配置
系统方法:
config('key')
系统类:
\think\Config::get('key')
使用use:
use \think\Config Config::get('key')
数组:
config('key') config('key.name') 上同
扩展配置分类:
config('key.name') 'key'所有
系统相关
系统类:
thinkphp5_1/thinkphp/library/think
系统方法:
thinkphp5_1/thinkphp/helper.php
配置顺序
配置文件加载顺序:反向加载,合并同名覆盖,不同名保留
动态配置 -> 模块 -> 场景 -> 扩展 -> 应用 -> 管理
环境变量配置
新建: thinkphp5_1/.env // 非php,直接键值对或数组,不支持中文
name=icocos
[database]
type=mysql
root = root
读取:
think\Env::get('name')
think\Env::get('database.type') // 不能直接database.type