第四课 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 think\facade\Config;

读取配置信息

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遵循惯例重于配置的原则,系统会按照下面的顺序来加载配置文件(配置的优先顺序从右到左)。

会覆盖掉之前的配置

原文地址:https://www.cnblogs.com/studyandstudy/p/10353309.html

时间: 2024-10-11 05:14:49

第四课 TP5框架配置详解的相关文章

Struts框架配置详解

1.首先将所必须的Jar包放到项目的WebRoot/WEB-INF/lib目录下. 如果你没有这些Jar文件,你可以到Struts官网上下载:http://struts.apache.org/.因为经常会用到这些Jar包,因此我将Struts所需的Jar包进行了整理,你可以点击这里下载. Struts所需Jar包下载:http://pan.baidu.com/s/1c0pdqTy 密码:jb2m 如果你想了解更多关于以上列出的Jar包的信息,你可以阅读我的另一篇文章:(MARK) 2.在web.

第三十四课:jQuery Deferred详解2

上一课主要分析了jQuery1.51版本的jQuery Deferred.在jQuery1.6中,jQuery Deferred添加了两个方法,always,pipe. always用来添加回调,无论成功还是失败,都会执行. pipe就是管道的意思,对回调使用瀑布模型,上一个回调的返回值供下一个会调使用. 我们举个例子来说明下pipe与then的区别: var deferred = $.Deferred();  //返回的是Deferred对象 var promise = deferred.pi

第二十天 TCP 及socket通信原理、http协议及web服务、httpd核心配置详解

一.TCP及socket通信原理详解 二.http协议及web服务原理(一) 三.http协议及web服务原理(二) 四.httpd核心配置详解 1.tcp.udp是一种传输协议,实现进程地址标记,套接字是一个虚拟设备,用来表明主机上的某个进程      众所周知:0-1023:管理员才有权限使用,永久地分配给某应用使用(由IANA分配)      注册端口:1024-41951:只有一部分被注册,分配原则上非特别严格.      动态端口或私有端口:41952-65535:由内核分配临时端口,

LAMP(php动态扩展模块,httpd的rewrite,php错误日志,php.ini配置详解)

一.php动态扩展模块 比如我们需要用到php一个模块,恰好他没有这个模块.我们需要编一个.so出来 ?/usr/local/php/bin/php -m //查看模块 ? 下面安装一个redis的模块 ? cd /usr/local/src/ ? wget https://codeload.github.com/phpredis/phpredis/zip/develop ? mv develop phpredis-develop.zip ? unzip phpredis-develop.zip

功能表单字段、树形选择数据类型的配置详解——JEPLUS快速开发平台

功能表单字段之下拉框.单选框.多选框.树形选择数据类型的配置详解 JEPLUS平台的表单支持有多种不同的数据类型,这些不同的数据类型在展示不同类型的数据时能有很好的效果,今天这篇笔记就讲解一下下拉框.单选框.复选框.树形选择这四种数据类型的配置详解以及效果展示. 一.下拉框 打开表单数据录入界面,打开具体的目标字段的配置信息 第二种打开目标字段的配置信息方法是打开功能配置选项---->打开表单配置---->双击目标字段,即可打开 打开字段的表单配置信息界面,选择数据类型是"下拉框&q

深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)[转]

上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, 本篇继续讲剩下的配置节点之一:typeAliases. typeAliases节点主要用来设置别名,其实这是挺好用的一个功能, 通过配置别名,我们不用再指定完整的包名,并且还能取别名. 例如: 我们在使用 com.demo.entity. UserEntity 的时候,我们可以直接配置一个别名user, 这样

使用LVS实现负载均衡原理及安装配置详解

转:http://www.cnblogs.com/liwei0526vip/p/6370103.html 使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director

使用 LVS 实现负载均衡原理及安装配置详解

使用 LVS 实现负载均衡原理及安装配置详解 来源:肖邦linux 发布时间:2017-02-19 阅读次数:106 0 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director Server上,然后它把用

【SSH2(理论篇)】--Struts2配置详解

上篇博客讨论了SSH2框架模型,在开发过程中发现SSH2的开发模型其实类似于经典的三层模式,在每一层中分别添加了不同的框架,显示层使用的是Struts2进行配置的,业务逻辑层使用的是Spring配置,数据持久层则采用的是Hibernate,开发模式简单易懂,接下来将会分别从三层着手讨论每一层的运行内容. 一.Struts体系简介 struts,是Apache软件基金会(ASF)赞助的一个开源项目,它通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-V