THINKPHP5.1 Config的配置与获取详解

首先需要在控制器内引入Config类,这里使用5.1新增的facade,通过facade可以静态的调用原本需要被继承才能使用的方法。

获取配置:

namespace app\index\controller;
use think\facade\Config;

class index
{
  public function index()
  {
    //获取所有配置内容,返回的是个Array
    dump(Config::get());
    //获取app中的配置内容,返回的是个Array
    dump(Config::get('app.'));
    //获取app中的配置内容,返回的是个Array
    dump(Config::pull('app'));
    //获取app中的debug中的配置内容
    dump(Config::get('app.app_debug'));
  }
}

// app是默认的一级配置项,app_debug是在app配置项下的,所以app.是可以省略的,但是
// 像template.type中的template.就不能省略,一旦省略了就变为了默认的app下的type了

获取配置之前最好先判断配置是否存在:

namespace app\index\controller;
use think\facade\Config;

class index
{
  public function index()
  {
    //判断template下的type项是否存在,返回true或者false
    dump(Config::has('template.type'));
  }
}

动态设置配置

namespace app\index\controller;
use think\facade\Config;
public function set()
{
  dump(Config::get('app_debug'));
  Config::set('app_debug',false);
  dump(Config::get('app_debug'));
}

助手函数

  public function helper()
  {
    // 获取配置
    dump(config('database.hostname'));
    // 用'?'判断配置是否存在
    dump(config('?database.hostname'));
    // 设置配置
    config('database.hostname','localhost');
    // 获取配置
    dump(config('database.hostname'));

    // 还是推荐使用静态类Config::的方法来获取或者设置配置
    // 更容易被IDE支持
    // 任何的助手函数,都不依赖传入的类,比如config助手函数
    // 不依赖Config类
  }
}

到此这篇关于THINKPHP5.1 Config的配置与获取详解 的文章就介绍到这了,更多相关THINKPHP5.1 Config配置内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • ThinkPHP 5.1 跨域配置方法

    因为最近的项目采用了API接口开发方式,后端需要配置跨域的规则以便前端能够访问. 系统采用的框架为 ThinkPHP,版本 5.1.19 关于OPTIONS请求 由于前端的知识不是很熟悉,查阅了网上的资料得知,OPTIONS 请求是在 AJAX 发送请求前发送的一个验证请求,该请求会验证一系列规则,若符合规则则会发送实际的 GET 或 POST 请求,跨域的规则也是 OPTIONS 请求时进行验证的. 遇到的问题 按照网上大部分关于跨域请求的配置,基本都是以下三行代码: header("Acce

  • THINKPHP5.1 Config的配置与获取详解

    首先需要在控制器内引入Config类,这里使用5.1新增的facade,通过facade可以静态的调用原本需要被继承才能使用的方法. 获取配置: namespace app\index\controller; use think\facade\Config; class index { public function index() { //获取所有配置内容,返回的是个Array dump(Config::get()); //获取app中的配置内容,返回的是个Array dump(Config:

  • vue3中vue.config.js配置及注释详解

    目录 报错 打包时提示文件过大,配置解决方案,如下 总结 报错 asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).This can impact web performance.entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit

  • Spring Cloud 覆写远端的配置属性实例详解

    应用的配置源通常都是远端的Config Server服务器,默认情况下,本地的配置优先级低于远端配置仓库.如果想实现本地应用的系统变量和config文件覆盖远端仓库中的属性值,可以通过如下设置: spring: cloud: config: allowOverride: true overrideNone: true overrideSystemProperties: false overrideNone:当allowOverride为true时,overrideNone设置为true,外部的配

  • GIT相关-IDEA/ECLIPSE工具配置的教程详解

    GIT安装 访问: https://git-scm.com/downloads ,进入git'下载页面,根据个人操作系统下载对应软件版本,默认下载最新版: 双击安装即可.选择安装目录和安装内容,如果只是单纯的使用,默认即可. 安装TortoiseGit 安装前,确认Git已安装好,否则TortoiseGit是装不上的. 访问 : https://tortoisegit.org/download/,选择对应的操作系统位数软件下载, 双击软件,点击next,默认安装即可 生成秘钥 开始菜单找到git

  • Mybatis环境配置及测试详解

    mybatis 3 | 参考文档 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作. MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型.接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录. 一.mybatis环境配置 1.通过maven的pom.xml文件引入mybatis需要的包 在其<depend

  • spring security在分布式项目下的配置方法(案例详解)

    分布式项目和传统项目的区别就是,分布式项目有多个服务,每一个服务仅仅只实现一套系统中一个或几个功能,所有的服务组合在一起才能实现系统的完整功能.这会产生一个问题,多个服务之间session不能共享,你在其中一个服务中登录了,登录信息保存在这个服务的session中,别的服务不知道啊,所以你访问别的服务还得在重新登录一次,对用户十分不友好.为了解决这个问题,于是就产生了单点登录: **jwt单点登录:**就是用户在登录服务登录成功后,登录服务会产生向前端响应一个token(令牌),以后用户再访问系

  • IDEA SSM框架整合配置及步骤详解

    参考 狂神说SpringMVC05:整合SSM框架 https://mp.weixin.qq.com/s?__biz=Mzg2NTAzMTExNg==&mid=2247484004&idx=1&sn=cef9d881d0a8d7db7e8ddc6a380a9a76&scene=19#wechat_redirect 前言 根据自己的环境参考狂神的视频进行了SSM框架整合,用于备忘 SSM框架整合步骤 1. 创建数据库 2. IDEA创建maven项目.在pom.xml中设设置

  • go使用consul实现服务发现及配置共享实现详解

    目录 使用consul四大特性 通过docker安装consul 实现代码 运行结果 使用consul四大特性 1. 服务发现:利用服务注册,服务发现功能来实现服务治理. 2. 健康检查:利用consul注册的检查检查函数或脚本来判断服务是否健康,若服务不存在则从注册中心移除该服务,减少故障服务请求. 3. k/v数据存储:存储kv数据,可以作为服务配置中心来使用. 4. 多数据中心:可以建立多个consul集群通过inter网络进行互联,进一步保证数据可用性. 通过docker安装consul

  • Spring boot Thymeleaf配置国际化页面详解

    目录 1.编写多语言国际化配置文件 2.编写配置文件 3.定制区域信息解析器 4.页面国际化使用 5.整合效果测试 1.编写多语言国际化配置文件 在项目的类路径resources下创建名称为i18n的文件夹,并在该文件夹中根据需要编写对应的多语言国际化文件login.properties.login_zh_CN.properties和login_en_US.properties文件 login.properties login.tip=请登录login.username=用户名login.pas

  • SpringBoot配置绑定方法详解

    目录 配置绑定 @Value基础类型配置 @ConfigurationProperties注解 @PropertySource 配置绑定 所谓“配置绑定”就是把配置文件中的值与 JavaBean 中对应的属性进行绑定.通常,我们会把一些配置信息(例如,数据库配置)放在配置文件中,然后通过 Java 代码去读取该配置文件,并且把配置文件中指定的配置封装到 JavaBean(实体类)中. SpringBoot提供了以下两种方式进行配置绑定: 使用@Value注解 使用@ConfigurationPr

随机推荐