tp5 配置的使用测试


 

1 配置的使用

系统默认的配置文件目录就是应用目录(APP_PATH),也就是默认的application下面,并分为应用配置(整个应用有效)和模块配置(仅针对该模块有效)。

 

├─application         应用目录
│  ├─config.php       应用配置文件
│  ├─database.php     数据库配置文件
│  ├─route.php        路由配置文件
│  ├─index            index模块配置文件目录
│  │  ├─config.php    index模块配置文件
│  │  └─database.php  index模块数据库配置文件

 

 

1.1 应用配置数据的读取

我们来输入 应用配置文件中的变量

 

public function test(){

    echo config('default_return_type');

    echo '<br/>';

    echo config('database.hostname');

}

 

                                              image.png










 

1.2 模块下配置的读取

 

在Index模块中新建三个文件

 

image.png

 

config.php

return [

    'age'=>18

];

database.php

return [

    'pre'=>'pre_test'

];

 

posts.php

return [

    'page'=>10

];

 

 

public function test(){

        echo config('age');

        echo "<br/>";

        echo config('posts.page');

        echo config('database.pre');

}

 

 

 

image.png

 

可以看出在根目录的应用配置和模块下的应用配置 只有命名为config和database 才能默认导入到配置中

 

新建的posts.php文件是没有导入的

1.3 跨模块配置的读取

 

image.png

 

 

image.png

 

 

image.png

 

 

image.png

跨模块调用配置文件 是获取不到的

 

2 扩展配置目录

5.0.1开始增加了扩展配置目录的概念,在应用配置目录或者模块配置目录下面增加extra子目录,下面的配置文件都会自动加载,无需任何配置。

 

如果你定义了CONF_PATH常量为config目录为例,扩展配置目录如下:

├─application         应用目录
├─config              配置目录
│  ├─config.php       应用配置文件
│  ├─database.php     数据库配置文件
│  ├─route.php        路由配置文件
│  ├─extra            应用扩展配置目录
│  ├─index            index模块配置文件目录
│  │  ├─extra         index模块扩展配置目录
│  │  ├─config.php    index模块配置文件
│  │  └─database.php  index模块数据库配置文件

 

扩展配置的读取 和限制 和config.php 配置的读取是一直.不支持跨模块的读取

 

3 配置的格式

 

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

3.1 PHP数组定义

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

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


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

 

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




image.png

 

image.png

 

public function test(){

    dump(config('xiaoming')) ;

    dump(config('test.xiaoli')) ;

}

 

image.png

3.2 其他配置格式的支持

 

其实很多时候其他配置格式是用不到的.一般情况都是以数组的形式来定义 ,.这里就不说了

 

 

 

4 配置的加载

 

在ThinkPHP中,一般来说应用的配置文件是自动加载的,加载的顺序是:惯例配置->应用配置->扩展配置->场景配置->模块配置->动态配置

以上是配置文件的加载顺序,因为后面的配置会覆盖之前的同名配置(在没有生效的前提下),所以配置的优先顺序从右到左。

 

5 配置的读取

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

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

 

来源: up61技术博客 欢迎分享 (QQ:529857614)

qq交流群:63739043 up61博客-php交流群

上一篇: PHP数组操作详解
下一篇: seo中title、keywords、description标签的作用


评论


yiqiu:
04月20日 09:28

yiqiu:
04月20日 09:28

测试