此次的tp5 版本为ThinkPHP5.0
配置文件名 描述
app.php 应用配置 | cache.php 缓存配置 | cookie.php Cookie配置 | database.php 数据库配置 |
log.php 日志配置 | session.php Session配置 | template.php 模板引擎配置 | trace.php 页面Trace配置 | paginate.php 分页配置
获取配置
要使用Config类,首先需要在你的类文件中引入
use think\Config;
然后就可以使用下面的方法读取某个配置参数的值:
echo Config::get('配置参数1');
如果你需要读取某个一级配置的所有配置参数,可以使用
Config::pull('app');
或者使用
Config::get('app.');
读取所有的配置参数:
dump(Config::get());
判断是否存在某个设置参数:
Config::has('配置参数2');
读取二级配置时
Config::get('database.type') //采用点连接,可以读取到一级配置database下的二级配置type
2.使用助手函数来获取配置
注意 config() 全小写
config(); //得到所有配置 config('?配置参数2'); //判断是否存在配置时 config('app.name1.name2') //点语法,支持获取多级配置参数值,直接使用(必须从一级开始写)
3.动态配置
//动态设置 Config::set('Site_Name','www.php.cn'); config('Site_Name','www.php.com'); //助手函数动态设置 //批量设置 $array = ['orderNum'=>'1234', 'orderGood'=>'xiaomi 5x' ]; config($array); //助手函数动态设置 $res = config(); dump($res);
4.扩展配置
在application\extra目录下新建一个自己的配置文件myextra.php
<?php /** * 扩展配置。。练习 */ return [ 'site_name'=>'php.ccn' ];
然后在application\index\controller\index.php下获取一下自己刚刚的扩展配置
<?php namespace app\index\controller; use think\Config; class Index { public function index() { // return '<style type="text/css">*{ padding: 0; margin: 0; } .think_default_text{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p> ThinkPHP V5<br/><span style="font-size:30px">十年磨一剑 - 为API开发设计的高性能框架</span></p><span style="font-size:22px;">[ V5.0 版本由 <a href="http://www.qiniu.com" target="qiniu">七牛云</a> 独家赞助发布 ]</span></div><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script><script type="text/javascript" src="http://ad.topthink.com/Public/static/client.js"></script><thinkad id="ad_bd568ce7058a1091"></thinkad>'; //扩展配置 $res = Config::get(); dump($res); } }
5.配置优先级
惯例配置《应用配置《扩展配置《场景配置《模块配置《动态配置
惯例配置:thinkphp\convention.php
应用配置:application\config.php, 可以覆盖惯例配置中的配置
扩展配置:application\extra目录下创建自己的配置文件
场景配置:config.php中通过指定:app_status参数改变配置文件加载
模块配置:application\指定目录下(比如在index下新建一个config.php)\config.php
动态配置:一般指在控制器中用config::set('配置项名称','配置项值')
6.配置作用域
在application目录下新建一个配置文件my_config.php
<?php return [ 'test'=>'lzh' ];
然后加载该配置在index.php
Config::load(APP_PATH.'my_config.php','test','user');//三个参数分别为该配置的绝对路径;配置项名称;配置项作用域 $res = Config::get('test','user'); dump($res);
7.环境变量配置
在项目根目录下用.env文件做配置
配置内容:.ini风格;配置项名称=配置项值
<?php namespace app\index\controller; use think\Config; use think\Env; class Index { public function index() { $res = Env::get('myenv'); dump($res); } }
8.优化配置
可以通过在入口文件中使用CONF_PATH常量自定义配置目录
<?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +---------------------------------------------------------------------- // | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: liu21st <liu21st@gmail.com> // +---------------------------------------------------------------------- // [ 应用入口文件 ] // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); //自定义配置加载 //设置这个之后关于配置的加载就不读取上面应用目录下的配置文件了 //需要新建一个CONFIG目录 define('CONF_PATH',__DIR__ . '/../CONFIG/'); // 加载框架引导文件 require __DIR__ . '/../thinkphp/start.php';