yaf框架学习文件配置
文件配置:
在配置php支持yaf的时候,可以设置一个参数yaf.environ:把本地开发设置成develop、测试环境配置成test、生产环境配置成product。
[yaf]
extension=yaf.so
yaf.use_namespace=
yaf.environ=develop
通过设置运行环境,在项目中可以通过ini_get(‘yaf.environ’)获取环境参数,进而取到相应节的配置。
yaf配置文件一般都放在项目的conf文件夹下,yaf application实例化的时候需要传递一个配置文件路径,配置文件叫application.ini,先看下application.ini的结构:
[common]
; 通用配置 [product : common]
; 生产环境配置 [test : common]
; 测试环境配置 [develop : common]
; 开发环境配置
配置除了节之外,节和节之间还有继承关系。
例如[product : common]就表示product的配置会继承common的配置。
yaf在实例化应用传递配置文件路径和运行环境:
define("APPLICATION_PATH", realpath(dirname(__FILE__) . '/../'));
$app = new \Yaf\Application(APPLICATION_PATH . "/conf/application.ini", ini_get('yaf.environ'));
这样当项目运行环境在develop下的时候,会优先读取[develop : common]内的配置,如果没有则会从[common]中获取。
在项目中任何地方都可以通过
\Yaf\Application::app()->getConfig();
获取application.ini中的配置。
事实上该例中可以不用传递ini_get(‘yaf.environ’)参数,在实例化的时候yaf会自行读取php.ini中的yaf.environ参数。但如果是其它的配置文件,则需要传递该参数。
额外的配置
随着项目越来越庞大,配置也会越来越复杂,如果都放在项目默认的配置文件application.ini中,可能配置会有好几百行,这样就不容易维护了。一般我们会考虑新建配置文件用来存储额外的配置。yaf中提供了\Yaf\Config\Ini类来处理这些额外的配置文件。
$config = new \Yaf\Config\Ini(APPLICATION_PATH . '/conf/url.ini', ini_get('yaf.environ'));
在实际读取的时候,最好能设置一个静态变量保存读取到的配置,避免重复申请系统open函数调用。如下:
static $config = null;
if ($config === null) {
$config = new \Yaf\Config\Ini(APPLICATION_PATH . '/conf/url.ini', ini_get('yaf.environ'));
}
参考:http://www.01happy.com/php-yaf-ext-config/
最新文章
- Centos7 php 5.6.19编译安装
- Linux Shell系列教程之(十三)Shell分支语句case … esac教程
- asp.net在线恢复数据库
- eclipse升级,导入旧版eclipse的插件[转]
- verilog运算符及表达式
- C# WinForm打开IE浏览器并访问网址
- GetWindowRect() GetClientRect() ScreenToClient() MoveWindow()
- Hierarchy Viewer工具使用
- eclipse如何把多个项目用不同的文件夹分隔开
- FTP连接虚拟主机响应220 Welcome to www.net.cn FTP service. (解决的一个问题)
- MATLAB 中 ksvdbox和ompbox 工具箱的安装和使用
- Linux-基础学习(三)-Nginx学习
- julia .文档
- 20175224 2018-2019-2 《Java程序设计》第六周学习总结
- 4.3Python数据处理篇之Matplotlib系列(三)---plt.plot()折线图
- 对象存储服务(Object Storage Service,简称 OSS)
- squid代理允许FTP访问设置
- 【BZOJ3670】【NOI2014】动物园(KMP算法)
- [转]Servlet 单例多线程
- Kafka vs RocketMQ—— Topic数量对单机性能的影响