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

本文共 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数据的方法

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月23日 13时47分12秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

电子学会图形化scratch编程等级考试二级真题答案解析(选择题)2020-9 2019-04-28
Scratch海底寻宝游戏 电子学会图形化编程scratch等级考试三级真题答案2020-5 2019-04-28
数据库课程设计 java实现学生信息管理系统 软件开发大作业 2019-04-28
软件开发课程设计 java+mysql实现学生信息管理系统 数据库课程设计【优秀】 2019-04-28
小兔子带你轻松玩转Scratch 绘制创意复杂图形28 2019-04-28
Scratch猜数字游戏 电子学会图形化编程scratch等级考试三级真题答案2020-5 2019-04-28
小兔子带你轻松玩转Scratch 绘制创意复杂图形29 2019-04-28
Scratch自动停车小游戏 蓝桥杯青少年创意编程scratch真题和答案解析 2019-04-28
Scratch魔术表演开花 电子学会图形化编程scratch等级考试三级真题答案2020-9 2019-04-28
Scratch青蛙捕虫 电子学会图形化编程scratch等级考试三级真题答案2020-9 2019-04-28
Scratch换装游戏 电子学会图形化编程scratch等级考试三级真题答案2020-9 2019-04-28
电子学会图形化scratch编程等级考试三级真题答案解析【判断题】2020-9 2019-04-28
【蓝桥杯真题08】Scratch画五角星 少儿编程scratch蓝桥杯选拔赛真题讲解 2019-04-28
Scratch画四层莲花 蓝桥杯 青少年创意编程Scratch真题答案和解析 2019-04-28
小兔子带你轻松玩转Scratch 绘制创意复杂图形32 2019-04-28
初学python100例-案例1 排列组合 多种不同解法 少儿编程案例讲解 2019-04-28
初学python100例-案例2 计算年终奖 多种不同解法 少儿编程案例讲解 2019-04-28
初学python100例-案例3 计算平方数 多种不同解法 少儿编程案例讲解 2019-04-28
初学python100例-案例4 计算一年第几天 多种不同解法 少儿编程案例讲解 2019-04-28
初学python100例-案例5 数字排序多种不同解法 少儿编程案例讲解 2019-04-28