yaf mysql_Yaf框架的配置
发布日期:2021-06-24 12:55:11 浏览次数:3 分类:技术文章

本文共 2538 字,大约阅读时间需要 8 分钟。

http://www.laruence.com/manual/yaf.ini.html //先看一下惠新宸鸟哥yaf官网的配置说明

我们可以在php.ini中定义开发环节配置项,把本地开发设置成develop、测试环境配置成test、生产环境配置成product。代码如下,默认的是product

[yaf]yaf.environ=develop

通过设置运行环境,在项目中可以通过ini_get(‘yaf.environ’)获取环境参数。

yaf配置文件一般都放在项目的conf文件夹下,yaf application实例化的时候需要传递一个配置文件路径,配置文件叫application.ini,先看下application.ini的结构:

[common]

; 通用配置

[product : common]

; 生产环境配置

[test : common]

; 测试环境配置

[develop : common]

; 开发环境配置

配置例子如下代码

application.debug =TRUE

;当意外的错误发生的时候,开启/关闭异常抛出。 当开启的时候,Yaf将会抛出异常而不是触发可捕捉的错误。

;1抛出异常. 0获取可以调试的错误

application.dispatcher.throwException= 0;开启/关闭自动异常捕获功能

;1Yaf会将所有未捕获的异常交给Error Controller的Error Action来处理. 0直接打印

application.dispatcher.catchException= 0;如果 throwException= 0,那么 catchException是什么都无所谓了. 因为catchException是捕获异常的.

;如果 throwException= 1, catchException的值决定异常处理方式.但catchException为1,必须定义Error Controller,否则还会报这个错误.

;

;redis.namespace = "TEST_";redis.servers.host= '127.0.0.1';redis.servers.port= '6379';redis.servers.password= '';redis.servers.weight= 1Redis.namespace = "TEST_"Redis.servers.host= '127.0.0.1'Redis.servers.port= '6379'Redis.servers.password= ''Redis.servers.weight= 1sessRedis.host= '127.0.0.1'sessRedis.port= '6379'sessRedis.timeout= 0.5sessRedis.db= 9sessRedis.auth= ''DB_TYPE="mysql"DB_HOST="127.0.0.1"DB_PORT="3306"DB_CHARSET="utf8"DB_NAME="kmjd"DB_USER="root"DB_PWD="root"

配置除了节之外,节和节之间还有继承关系。

例如[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参数。但如果是其它的配置文件,则需要传递该参数。代码如下

$app = new Yaf_Application(APP_PATH . "/conf/application.ini");

代码中获取配置项的方法如下

$this->_config = Yaf_Application::app()->getConfig()->get("Redis");

$this->_host = $this->_config['servers']['host'];

$this->_port = $this->_config['servers']['port'];

$this->_db = $this->_config['servers']['db'];

当然,除了用yaf指定的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'));

}

详细可以参考yaf扩展示例Bootstrap中的getUrlIniConfig方法。

转载地址:https://blog.csdn.net/weixin_32862641/article/details/113550882 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:mysql select 查询选后5个_mysql 查询select语句汇总
下一篇:vb php mysql_VB连接MYSQL数据的方法

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月11日 19时36分53秒