第四课 TP5框架配置详解

Posted studyandstudy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四课 TP5框架配置详解相关的知识,希望对你有一定的参考价值。

4.1 为什么需要配置文件

通常在框架当中很多的固定的参数,初始化参数,并不是我们直接在使用时添加,一些通用的参数,需要固定的位置存放,然后调用时到固定的地方获取,而不是重复的定义

4.2 有哪些配置文件

技术图片

惯例配置:核心框架内置的配置文件,无需更改。

应用配置:每个应用的全局配置文件(框架安装后会生成初始的应用配置文件),有部分配置参数仅能在应用配置文件中设置。

模块配置:每个模块的配置文件(相同的配置参数会覆盖应用配置),有部分配置参数模块配置是无效的,因为已经使用过。

动态配置:主要是指在控制器或者行为中进行(动态)更改配置,该配置方式只在当次请求有效,因为不会保存到配置文件中。

4.3 配置文件在哪

Thinkphp惯例配置存放在thinkphp/convention当中,所谓的惯例配置就是thinkphp根据一些用户惯用的配置去写的配置项

惯例配置:核心框架内置的配置文件

技术图片

应用配置:每个应用的全局配置文件

技术图片

模块配置:每个模块的配置文件

技术图片

动态配置:(代码当中修改)主要是指在控制器或者行为中进行(动态)更改配置,该配置方式只在当次请求有效,因为不会保存到配置文件中。

4.4 系统配置文件说明

技术图片

4.5 配置的格式

可以直接在相应的应用或模块配置文件中修改或者增加配置参数,如果你要增加额外的配置文件,直接放入应用或模块配置目录即可(文件名小写)。

4.5.1 数组定义

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

return [
    // 默认模块名
    ‘default_module‘         => ‘index‘,
    // 禁止访问模块
    ‘deny_module_list‘       => [‘common‘],
    // 默认控制器名
    ‘default_controller‘     => ‘Index‘,
    // 默认操作名
 ‘default_action‘         => ‘index‘
]; 

配置参数名请使用小写的形式,定义多级

‘info‘=>[
        ‘name‘=>‘peter‘,
        ‘age‘=>‘18‘
]

4.5.2 其他配置格式支持

默认的配置文件都是PHP数组方式,如果你需要使用其它格式的配置文件,你可以通过改变CONFIG_EXT环境变量的方式来更改配置类型。

支持的配置类型包括.ini.xml.json 、.yaml .php 在内的格式支持,配置后应用配置及模块配置必须统一使用相同的配置类型(了解,一般创建一种类型就可以)

4.5.3 创建一个.env格式的文件,在项目根目录

在框架应用加载的过程当中,会首先加载.env格式的配置,会去读取相关的配置信息(查看源码)

技术图片

技术图片

Ini格式的

技术图片

4.5.4 环境变量配置和使用

我们通过学习Thinkphp5环境变量的配置,来搭建出符合我们平时开发中使用的运营环境,比如说开发环境,上线环境使用的配置是不一样的

注意,环境变量不支持数组参数,如果需要使用数组参数可以,使用下划线分割定义配置参数

技术图片

技术图片

4.5.5 获取环境变量的值可以使用下面的两种方式获取:

Env::get(‘database.username‘);
  Env::get(‘database.password‘);
 // 同时下面的方式也可以获取
  Env::get(‘database_username‘);
  Env::get(‘database_password‘);
/ 获取环境变量 如果不存在则使用默认值root
Env::get(‘database.username‘,‘root‘);

注意:环境变量当中的结果是大写的,但是获取的时候使用小写

4.6 配置有效性

并不是所有的配置都会有效果,某些配置在特定的文件目录下才会有效果

下列配置参数在模块配置中定义(包括动态配置)无效,而必须在应用配置中设置

技术图片

由于架构设计原因,下面的配置只能在环境变量中修改。

技术图片

4.7 配置获取

4.7.1 使用Config类获取

引入命名空间

use thinkfacadeConfig;

读取配置信息

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

读取某个一级配置的所有配置参数

Config::get(‘app.‘);

判断是否存在某个设置参数:

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

4.7.2 使用助手函数获取

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

支持获取多级配置参数值,直接使用(必须从一级开始写)

config(‘app.name1.name2‘)

4.8 动态设置

使用助手函数设置,只能在当前的请求当中有作用

config(‘配置文件名.配置参数‘,‘配置值‘);

动态设置的参数,最多支持二级

config([
      ‘title‘=>‘peter的网站‘,
      ‘info‘=>‘简介信息‘
     ],‘app‘);

4.9 配置的优先级

ThinkPHP遵循惯例重于配置的原则,系统会按照下面的顺序来加载配置文件(配置的优先顺序从右到左)。

技术图片

会覆盖掉之前的配置

 

以上是关于第四课 TP5框架配置详解的主要内容,如果未能解决你的问题,请参考以下文章

Spring第四课 Spring框架以及JDBCTemplate的使用

第四课——MFC应用程序框架

第四课-第一讲04_01_Linux用户管理命令详解

tinyshop模板开发教程

Thrift第四课 连接中断异常处理

第四课——mysql配置参数讲解