美文网首页
thinkphp5学习笔记(二)配置文件

thinkphp5学习笔记(二)配置文件

作者: 阿泽453 | 来源:发表于2017-12-15 14:10 被阅读0次
配置目录

配置文件

1.应用配置文件  application\config.php 

2.模块配置文件    application\index\config.php

3.index.php中自定义配置目录

    define('CONF_PATH',__DIR__.'/../config/');

    config\config.php

    在config目录中新建index\config.php,对应index模块。

    在config目录中新建扩展配置目录extra及自定义文件,文件名就是配置名,内容是配置值。

    也可以在模块新建扩展配置项,eg:index\extra\test.php

    无论采用哪一种配置目录,最终都会与应用配置文件合并输出

配置文件格式

1.Array数组键值对      默认格式

2.ini名值对            入口文件:define('CONF_EXT','.ini')

3.xml标签对            入口文件:define('CONF_EXT','.xml')

4.josn对象属性名值对    入口文件:define('CONF_EXT','.json')

场景配置

在不同的环境下,使用不同的配置项。

实现步骤:

1.修改应用或模块配置文件中的'app_status',将值设置为场景名称,如:home

2.在与该配置文件同级的目录下,创建于场景名称同名的配置文件,如:home.php

3.再次执行,将会自动根据场景配置文件(home.php),更新当前应用的配置文件。

模块配置

1.模块可以有自己的配置文件,独立配置文件和场景配置文件

2.模块配置的优先级高于应用配置,相同配置项会覆盖掉应用中的配置项

3.模块默认配置文件名:config.php

4.模块默认独立配置文件有两个:database.php validate.php

5.模块场景配置文件名,根据'app_status'参数值确定

加载其他位置的配置文件

1.如果配置文件是php文件

\think\Config::load(APP_PATH.'完整文件名'); //使用绝对路径加载,默认返回数组

2.如果配置文件是其他格式:ini、xml、json等

\think\Config::parse(APP_PATH,'完整文件名','ini'); //使用绝对路径加载,默认返回数组

 注意:读取其他配置的文件,都是冬天加载,需要在控制器中的方法中执行加载


<?php
    namespace app\index\controller;

    class Index
    {
        public function index()
        {
            \think\Config::parse(APP_PATH.'../config/newconf/conf.ini','ini');
            dump(\think\Config::get());
        }
    }

如何正确读取配置项

1.读取配置项

    * 类方法  Config::get('配置参数'),参数为空则是获取全部配置项

    * 使用助手函数 config('配置参数'),参数说明和Config::get()完全一样

    * 读取二级配置项,参数与值之间用 . (点)进行连接

2.判断某配置项是否存在

    * 类方法 Config::has('配置参数');  //返回布尔值

    * 助手函数  config('?配置参数');  //返回布尔值

动态配置 如何正确设置配置项

1.类方法 \think\Config.php

    * 逐个配置 Config::set('配置参数','参数值');

    * 批量配置 Config::set(数组);

    * 二级配置 Config::set('配置参数',数组);

2.助手函数 config()

    * 逐个配置 config('配置参数','参数值');

    * 批量配置 config(数组);

    * 二级配置 config('配置参数',数组);

独立配置文件

1.用户自定义的独立配置文件必须放在应用或模块下面的extra目录下面

2.默认独立配置文件database.php[数据库],validate.php[验证规则]既可以

放在extra下面,也可放在与应用或模块同级的目录下面。如果放在extra目录

下面,优先级大于放在应用或模块的同级目录下面

3.文件名就是配置名称,文件返回一个数组

4.独立配置全部是二级配置

配置文件加载的优先级

惯例配置 < 应用配置 < 模块配置 < 动态配置(级别最高)

在应用配置和模块配置中:应用配置 < 独立配置 < 场景配置

配置项的作用域

1.作用域与命名空间的概念类似,就是配置项的可见范围

2.作用域的表现形式上与二维数组是一样的

3.切换作用域使用 Config::range('作用域')

4.可以将独立配置项归纳到作用域进行管理,也可以动态设置

<?php
    namespace app\index\controller
    use Think\Config;
    class Index
    {
        public function index()
        {
            //设置一组配置项
            $config = [
                'user_name'=>'user',
                'user_age'=>'18',
            ];
            //批量设置,写入user作用域
            Config::set($config,'user');
            //输出全部配置项,作用域相当于二级配置项的名称
            dump(Config::get());
            //用数组的方式来配置作用域的值
            Config::set('user.user_name','php');
            //查看设置好的值
            dump(Config::get('user.user_name'));
            //切换作用域:Config::range()
            Config::range('_sys_');
        }
    }

相关文章

  • thinkphp5学习笔记(二)配置文件

    配置文件 配置文件格式 场景配置 模块配置 加载其他位置的配置文件 如何正确读取配置项 动态配置 如何正确设置配置...

  • ThinkPHP5 ---基础篇(配置)

    ThinkPHP5 ---基础篇(配置) 一、惯例配置 i. 定义配置文件 public/index.php | ...

  • TP5 PHP74 NGINX

    以下是THINKPHP5 中配置PHP74-FPM 在Nginx服务中得配置文件

  • Apache隐藏index.php

    一、ThinkPHP5 httpd.conf配置文件中加载了mod_rewrite.so模块 AllowOverr...

  • 从心开始

    第一天,打个mark 学习thinkphp5不错的网址 thinkphp5官网 thinkphp5入门视频,带一个...

  • thinkPHP5学习笔记

    《tp5快速入门》 (七)视图和模板 use think\Controller

  • Nginx学习笔记(二):配置文件

    前言 学习笔记第二篇,之前想直接跳过去的,因为感觉比较枯燥。但是后面发现配置非常需要了解,所以重头看。 Ng...

  • Easyswoole控制器的使用 - Route

    一 、Easyswoole 中的默认路由规则都是参照 thinkphp5 的。在不使用路由配置文件的情况下 默认路...

  • thinkphp5学习笔记(一)

    thinkphp5学习 模型 视图 TP5的生命周期 一、入口文件 二、引导文件 三、注册自动加载 四、注册错误和...

  • php\thinkphp5学习笔记

    thinkphp5 model类:protected hiddden 用于父类对象隐藏属性;传统连接数据库的方法和...

网友评论

      本文标题:thinkphp5学习笔记(二)配置文件

      本文链接:https://www.haomeiwen.com/subject/igfdwxtx.html