配置文件的执行流程:
执行应用程序:run()
初始化应用:initCommon() -> init() -> load() (1定位模块目录 2加载相关文件)

TP5中配置文件主要分为四类:
1 惯例配置: 核心框架内置的配置文件(thinkphp/convention.php)无需要更改
2 应用配置:每个应用的全局配置文件(项目根目录下的config目录下的文件)
3 模块配置:每个模块的配置文件(会覆盖掉应用配置)
4 动态配置:主要是指在控制器或者行为中进行动态更改配置,只在当次请求中有效
Yaml格式:
load方法可以处理多种格式的文件,php文件,yaml文件,以及其他格式(ini,xml,json)

类似于java中的properties,对于较为复杂的数据结构来说YAML远远优于properties,附上简单语法一份

php预定义接口ArrayAccess:
在Larave和TP5l的源码当中,作者多次使用到了PHP SPL中的ArrayAccess接口

如果你的类实现了ArrayAccess接口,那么这个类的对象就可以使用$foo['xxx']这种结构了。
$foo['xxx'] 对应调用offsetGet方法。
$foo['xxx'] = 'yyy' 对应调用offsetSet方法。
sset($foo['xxx']) 对应调用offsetExists方法。
unset($foo['xxx']) 对应调用offsetUnset方法。
Yaconf:
一个高性能的配置管理扩展
常驻内存,不必加载配置文件。提升性能
网友评论