thinkPHP5.0框架配置格式、加载解析与读取方法

5年以前  |  阅读数:251 次  |  编程语言:PHP 

本文实例讲述了thinkPHP5.0框架配置格式、加载解析与读取方法。分享给大家供大家参考,具体如下:

ThinkPHP支持多种格式的配置格式,但最终都是解析为PHP数组的方式。

PHP数组定义

返回PHP数组的方式是默认的配置定义格式,例如:


    //项目配置文件
    return [
      // 默认模块名
      'default_module'    => 'index',
      // 默认控制器名
      'default_controller'  => 'Index',
      // 默认操作名
      'default_action'    => 'index',
      //更多配置参数
      //...
    ];

配置参数名不区分大小写(因为无论大小写定义都会转换成小写),新版的建议是使用小写定义配置参数的规范。

还可以在配置文件中可以使用二维数组来配置更多的信息,例如:


    //项目配置文件
    return [
      'cache'         => [
        'type'  => 'File',
        'path'  => CACHE_PATH,
        'prefix' => '',
        'expire' => 0,
      ],
    ];

其他配置格式支持

除了使用原生PHP数组之外,还可以使用json/xml/ini等其他格式支持(通过驱动的方式扩展)。

例如,我们可以使用下面的方式读取json配置文件:


    Config::parse(APP_PATH.'config/config.json');

ini格式配置示例:

DEFAULT_MODULE=Index ;默认模块
URL_MODEL=2 ;URL模式
SESSION_AUTO_START=on ;是否开启session

xml格式配置示例:


    <config>
    <default_module>Index</default_module>
    <url_model>2</url_model>
    <session_auto_start>1</session_auto_start>
    </config>

json格式配置示例:


    {
    "default_module":"Index",
    "url_model":2,
    "session_auto_start":True
    }

二级配置

配置参数支持二级,例如,下面是一个二级配置的设置和读取示例:


    $config = [
      'user' => ['type'=>1,'name'=>'thinkphp'],
      'db'  => ['type'=>'mysql','user'=>'root','password'=>''],
    ];
    // 设置配置参数
    Config::set($config);
    // 读取二级配置参数
    echo Config::get('user.type');
    // 或者使用助手函数
    echo config('user.type');

系统不支持二级以上的配置参数读取,需要手动分步骤读取。

有作用域的情况下,仍然支持二级配置的操作。

如果采用其他格式的配置文件的话,二级配置定义方式如下(以ini和xml为例):


    [user]
    type=1
    name=thinkphp
     [db]
    type=mysql
    user=rot
    password=''

标准的xml格式文件定义:


    <config>
    <user>
    <type>1</type>
    <name>thinkphp</name>
    </user>
    <db>
    <type>mysql</type>
    <user>root</user>
    <password></password>
    </db>
    </config>

set方法也支持二级配置,例如:


    Config::set([
      'type'   => 'file',
      'prefix'  => 'think'
    ],'cache');

读取配置参数

设置完配置参数后,就可以使用get方法读取配置了,例如:


    echo Config::get('配置参数1');

系统为get方法定义了一个助手config,以上可以简化为:


    echo config('配置参数1');

读取所有的配置参数:


    dump(Config::get());
    // 或者 dump(config());

或者你需要判断是否存在某个设置参数:


    Config::has('配置参数2');

如果需要读取二级配置,可以使用:


    echo Config::get('配置参数.二级参数');

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例