我是靠谱客的博主 顺心板栗,最近开发中收集的这篇文章主要介绍php 类调用config,20171226 - ThinkPHP5 Config配置管理类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Config

功能与用途

加载配置文件,读取或写入配置项。

TP5 默认是PHP数组形式,但可以通过扩展加载更多类型的配置文件,比如 ini 或者 xml等,只要实现对应的驱动即可。

额外说明

本文涉及的任何“二级配置”,本质上都是指 二维数组。

参考手册

文件位置

thinkphplibrarythinkConfig.php

默认配置文件位置

applicationconfig.php

命名空间

namespace think;

声明

所有文章均为1024编程实验室(www.sodevel.com)原创,任何形式的转载都必须征得本站同意。

作者联系方式,微信:pmtt9121,QQ 983430207

类概况

类比较简单,不过所有的属性、方法,都是 static(静态) 的,所有的类方法、属性,都是通过 Config::xxxx() 这种方法进行调用,无需实例化。

类属性static $config = [] 加载的所有配置文件,都会读入该数组

static $range = ‘_sys_‘ 配置作用域

类方法range() 修改作用域

parse() 解析配置文件

load() 加载配置文件

has() 检查配置项是否存在

get() 读取配置项

set() 写入配置项

reset() 重置配置参数

load() 方法详解

通过此方法,可加载任何配置文件。

参数说明$file 准备加载的配置文件名

$name 配置名,作为二级配置时需要

$range 作用域

功能实现检查是否配置了作用域

如果配置了作用域,以作用域作为 config 的键名

is_file(file)如果file)如果file有效则继续处理,否则返回 配置数组(多数是空数组)

使用 pathinfo() 获取文件后缀,以此判断配置类型

如果是 .php 文件,直接调用 self::set(include $file) 载入配置

如果是 yaml 类型的配置,使用 yaml_parse_file() 方法处理

其他类型,则调用parse() 方法进行处理。

比较有趣的用法$range = $range ?: self::$range;

使用三元运算符时,?: 代表什么意思呢?大家可以思考一下。return self::set(include $file, $name, $range);

上面这段代码,大约是这样执行的。$file 指的是配置文件,内部代码是 return [‘a’=>1,’b’=>2]这样的格式

include $file,表示包含配置文件,并将配置数组作为参数传递给 set() 方法

self::set() 将配置数组写入到self::config 类属性

return 返回最终的结果

其他有趣的语法

set() 方法//如果$name变量是 字符串

if (is_string($name))

//如果字符串中,含有.号(视为二级配置)

if (!strpos($name, '.'))

parse() 方法return self::set((new $class())->parse($config), $name, $range);

new $class() 根据不同的配置文件类型,实例化不同的类,来进行分析工作。

总结

所谓有趣的语法,算是一些奇淫巧技,给入门的同学做参考。

进阶之后,重点还是要放在整体设计上。

最后

以上就是顺心板栗为你收集整理的php 类调用config,20171226 - ThinkPHP5 Config配置管理类的全部内容,希望文章能够帮你解决php 类调用config,20171226 - ThinkPHP5 Config配置管理类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部