iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >ThinkPHP5文档学习——配置
  • 103
分享到

ThinkPHP5文档学习——配置

学习php数据库 2023-09-02 11:09:22 103人浏览 薄情痞子
摘要

文章目录 一、配置目录二、配置格式PHP数组定义其它格式的支持二级配置 三、配置加载惯例配置应用配置拓展配置场景配置 四、读取配置参数五、动态配置设置配置参数 六、独立配置独立配置

文章目录

一、配置目录

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

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

    0.1开始增加了扩展配置目录的概念,在应用配置目录或者模块配置目录下面增加extra子目录,下面的配置文件都会自动加载无需任何配置
    在这里插入图片描述

  • 自定义配置目录位置:

// 定义配置文件目录和应用目录同级    __DIR__:当前文件所在的目录define('CONF_PATH', __DIR__.'/../config/');

修改后,如下:

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

二、配置格式

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数组方式定义配置文件,你可以在入口文件定义CONF_EXT常量来更改为其它的配置类型:

// 更改配置格式为ini格式define('CONF_EXT', '.ini');

配置后,会自动解析支持的配置类型,包括.ini.xml.JSON.php 在内的格式支持。

二级配置

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

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

三、配置加载

在ThinkPHP中,一般来说应用的配置文件是自动加载的,加载的顺序是:

惯例配置->应用配置->扩展配置->场景配置->模块配置->动态配置

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

惯例配置

对常用得我参数做配置,在thinkphp中内置了一个惯例配置(thinkphp/convention.php)。

应用配置

应用初始化的时候,首先会加载的配置文件,位于application\cnfig.php

拓展配置

扩展配置文件是由extra_config_list配置参数定义的额外的配置文件,默认会加载databasevalidate两个扩展配置文件。

V5.0.1开始,取消了该配置参数,扩展配置文件直接放入application/extra目录会自动加载

场景配置

每个应用都可以在不同的情况下设置自己的状态(或者称之为应用场景),并且加载不同的配置文件。

  • 如果应用配置文件过大,想分成几个单独的模块,可以采用动态配置或拓展配置。
Config::load('配置文件名');
  • 配置格式默认是 php数组格式;如果是其它格式,可以使用parse方法来导入:
Config::parse(APP_PATH.'my_config.ini','ini');Config::parse(APP_PATH.'my_config.xml','xml');

四、读取配置参数

设置完配置参数后,就可以使用get来读取了:

echo Config::get("配置参数");

系统定义了一个助手函数,也可以读取配置,可简化以上操作:

echo config("配置参数");

tp5提供的config助手函数

读取所有的配置参数:

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

thinkphp还提供了一个dump()提供给开发者在浏览器中可友好的变量输出。
在这里插入图片描述
判断某个参数是否存在:

Config::has("配置参数");//或者 config("?配置参数")

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

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

五、动态配置

设置配置参数

使用set方法设置参数:

Config::set("配置参数","配置值");//或者使用助手函数config("配置参数","配置值");

也可进行批量设置:

Config::set(['配置参数1' => '配置值1','配置参数2' => '配置值2']);config(['配置参数1' => '配置值1','配置参数2' => '配置值2']);

六、独立配置

独立配置文件V5.0.1版本已经废除该写法

自动读取扩展配置

版本要求V5.0.1
5.0.1以上版本支持自动读取扩展配置文件(extra_config_list配置参数废弃),只需要将扩展配置文件放入application/extra目录,即可自动读取。

自动读取的配置文件都是二级配置参数,一级配置名称就是扩展配置的文件名。
模块也可以支持自己的扩展配置文件,只需要放入 application/模块名/extra下面就可以自动加载

系统默认加载的独立配置文件不在此列,包括:

文件名描述
config应用或者模块配置文件
database数据库配置文件
tags场景配置文件
场景名应用场景配置文件

如果你更改了CONF_PATH,那么扩展配置文件目录应该是CONF_PATH/extra,模块配置目录则变成 CONF_PATH/module/,模块的扩展配置目录则变成CONF_PATH/module/extra

defined('CONF_PATH') or define('CONF_PATH', APP_PATH); // 配置文件目录

七、配置作用域

配置参数支持作用域的概念,默认情况下,所有参数都在同一个系统默认作用域下面。如果你的配置参数需要用于不同的项目或者相互隔离,那么就可以使用作用域功能,作用域的作用好比是配置参数的命名空间一样。

可以使用range()切换作用域:

Config::range('test');

八、环境变量配置

ThinkPHP5.0支持使用环境变量配置。
可以在根路径下的.env配置文件中采用ini的方式进行配置。
环境变量配置模板
获取环境变量:

Env::get('database.username');Env::get('database.password');// 同时下面的方式也可以获取Env::get('database_username');Env::get('database_password');

可以支持默认值,例如:

// 获取环境变量   如果不存在则使用默认值rootEnv::get('database.username','root');

可以在应用配置中使用环境变量:
app中使用环境变量

来源地址:https://blog.csdn.net/qq_54864699/article/details/128090987

--结束END--

本文标题: ThinkPHP5文档学习——配置

本文链接: https://www.lsjlt.com/news/390637.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ThinkPHP5文档学习——配置
    文章目录 一、配置目录二、配置格式PHP数组定义其它格式的支持二级配置 三、配置加载惯例配置应用配置拓展配置场景配置 四、读取配置参数五、动态配置设置配置参数 六、独立配置独立配置...
    99+
    2023-09-02
    学习 php 数据库
  • MHA 学习(二) 配置文件
    一  配置  所有 主机的  ssh key 认证 ssh-keygen -t rsa  ssh-copy-id -i /ro...
    99+
    2024-04-02
  • thinkphp5如何读取配置文件
    本篇内容介绍了“thinkphp5如何读取配置文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在使用ThinkPHP5框架时,我们通常需要...
    99+
    2023-07-05
  • python学习之读取配置文件
    前言: 最近在接触利用python来写测试框架,本人也是个刚接触python,所以是个小菜鸟,今天开始,一点点的记录学习中的积累,方便以后的学习以及回顾,也希望能帮助跟我一样的小菜鸟...
    99+
    2024-04-02
  • phpstudy配置及thinkPHP5
    phpstudy与thinkPHP配置 文章目录 phpstudy与thinkPHP配置一、phpstudy下载地址配置环境 二、thinkphp5安装配置 一、p...
    99+
    2023-09-24
    windows php
  • Django学习之配置篇
    MTV Model Template View 数据库 模版文件 业务处理 了解Django框架,功能齐全 一.安装Django&Django基本配置 安装Django pip3 django 配置Django 1.配置Dja...
    99+
    2023-01-30
    Django
  • Zabbix安装配置文档-Part3.配
      一、             添加 Oracle监控 Oracle监控也参考zabbix wiki上如下的方法(调用zabora工具): http://www.zabbix.com/wiki/howto/m...
    99+
    2023-01-31
    文档 Zabbix
  • ElasticSearch学习之文档API相关操作
    目录前言创建文档单个数据指定ID不指定IDID唯一性控制批量数据指定ID不指定ID修改文档按照ID单个全量更新基于乐观锁全量更新部分更新按照ID批量全量更新部分更新按照条件修改修改字...
    99+
    2023-01-31
    ElasticSearch文档API操作 ElasticSearch API
  • caffe的python接口生成配置文件学习
    目录引言如何写配置文件图片转换成LMDB文件引言 caffe是C++语言写的,可能很多人不太熟悉,因此想用更简单的脚本语言来实现。caffe提供matlab接口和python接口,这...
    99+
    2024-04-02
  • go学习笔记读取consul配置文件详解
    目录新建yaml文件读取远程配置新建yaml文件 在上文我们的 go学习笔记:使用 consul 做服务发现和配置共享 这里我们单独来用viper实现读取consul的配置...
    99+
    2024-04-02
  • OEL安装RAC 配置DNS文档
    下边有完整的附件 完整 文档以及操作流程如下 [root@rac01 ~]# cd OracleLinux-R6-U6-Server-x86_64-dvd/ [root@rac0...
    99+
    2024-04-02
  • 学习Go语言文档中的os.Open函数打开文件
    学习Go语言文档中的os.Open函数打开文件,需要具体代码示例在Go语言中,打开文件通常使用os包的Open函数。这个函数接受一个文件名作为参数,并返回一个文件的指针和一个错误值。下面是一个使用os.Open函数打开文件的示例代码:pac...
    99+
    2023-11-04
    文件 Go语言 osOpen
  • 学习Go语言文档中的regexp.MustCompile函数实现正则表达式匹配
    学习Go语言文档中的regexp.MustCompile函数实现正则表达式匹配正则表达式(Regular Expression)是一种用于匹配、搜索、替换字符串的强大工具。在Go语言中,使用regexp包提供了对正则表达式的支持。其中的Mu...
    99+
    2023-11-03
    正则表达式 匹配 关键词:Go语言
  • 学习Go语言文档中的regexp.MatchString函数实现正则表达式匹配
    学习Go语言文档中的regexp.MatchString函数实现正则表达式匹配简介正则表达式是一种强大的工具,用来匹配和操作字符串。在Go语言中,我们可以使用内置的regexp包来处理正则表达式。其中的MatchString函数可以用来判断...
    99+
    2023-11-03
    文档 关键词:Go语言 regexpMatchString
  • Flutter学习笔记(一)配置环境
    目录背景主题当前环境配置过程下载flutter sdk配置flutter sdk环境背景 在日益内卷的开发圈子,多一项技能就意味着竞争力的提升,受到大环境的各种因素,所以有了这篇文章...
    99+
    2023-05-14
    Flutter学习 Flutter配置环境
  • PyCharm学习笔记(二) 调试配置
      选择PyCharm编译器 注意工程默认使用的解释器可能是Pycharm自带的,而不是单独安装的。   ...
    99+
    2023-01-30
    学习笔记 PyCharm
  • PyCharm学习笔记(一) 界面配置
     通过Ctrl+鼠标滚轮调整字体大小  设置代码区默认字体及大小 设置调试区的字体大小 设置代码风格:如Tab缩进 定义Python模板文件 # @Time : ${DATE} ${TIME} # @Author : ...
    99+
    2023-01-30
    学习笔记 界面 PyCharm
  • 学习Go语言文档中的io/ioutil.WriteFile函数写入文件
    学习Go语言文档中的io/ioutil.WriteFile函数写入文件,需要具体代码示例Go语言是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的开源编程语言。它的设计目标主要是提供一种具有更强大、高效和简单的编程语言...
    99+
    2023-11-04
    学习 Go语言 io/ioutilWriteFile
  • Go语言编程学习golang配置golint
    目录下载golint打开setting对话框设置一个快捷键下载golint 下载golang 的 lint,下载地址:https://github.com/golang/lint ...
    99+
    2024-04-02
  • Spring Boot DevTools 全局配置学习指南
    目录 一、直接重启项目与devtools重启的区别 二、DevTools配置 三、DevTools全局配置 四、trigger-file控制重启行为 4.1、配置 4.2、新建文件....
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作