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方法。

yaf mysql_Yaf框架的配置相关推荐

  1. yaf mysql_Yaf框架封装的MySQL数据库操作示例

    本文实例讲述了Yaf框架封装的MySQL数据库操作.分享给大家供大家参考,具体如下: Yaf封装DB简单操作 介绍 因为Yaf是一个纯天然的MVC阔架,本人还在贝锐的时候就和主管一起用Yaf框架去重构 ...

  2. 如果要用thinkphp框架_php需要改哪些配置,thinkPHP框架动态配置用法实例分析

    本文实例讲述了thinkPHP框架动态配置用法.分享给大家供大家参考,具体如下: 最近在用@ThinkPHP 做系统的时候,要用到一个功能,就要动态的将系统的配置参数保存到Config文件中.以往,我 ...

  3. pycharm python部署_使用PyCharm配合部署Python的Django框架的配置纪实

    安装软件安装 Python 2.7.PyCharm.pip(Python包管理工具).Django ( pip install Django) 部署PyCharm 新建Django工程 完成后,其目录 ...

  4. shiro框架---shiro配置介绍(一)

    接上一篇文章shiro框架-通过系统介绍shiro框架中的实现逻辑   项目已分享到GitHub上,如果需要的可以看下,springboot+shiro项目Git下载地址. shiro在springb ...

  5. 基于antd pro框架,配置接口apiUrl前缀

    基于antd-pro框架,配置package.json中的打包命令,实现不同环境使用不同的接口apiUrl前缀,避免人肉修改,保证各环境对应各自的api地址. 背景 这阵子,在玩antd-pro,感觉 ...

  6. yaf创建项目及配置

    安装yaf 安装yaf扩展参考:https://blog.csdn.net/qq_18361349/article/details/112688449?spm=1001.2014.3001.5501 ...

  7. laravel框架的配置

    开发环境的配置与要求 laravel框架对服务器的有少量要求,推荐Homestead作为laravel的本地开发环境,若不使用Homestead,那么开发环境需要满足以下要求(现使用的是phpstud ...

  8. 一个简单的游戏框架:配置表方案

    一个简单的游戏框架:配置表方案 代码:https://github.com/HushengStudent/myGameFramework 1.配置表格式 csv,逗号分隔,可以使用wps和Excel打 ...

  9. SpringSecurity权限管理框架系列(六)-Spring Security框架自定义配置类详解(二)之authorizeRequests配置详解

    1.预置演示环境 这个演示环境继续沿用 SpringSecurit权限管理框架系列(五)-Spring Security框架自定义配置类详解(一)之formLogin配置详解的环境. 2.自定义配置类 ...

最新文章

  1. Pinging ? with 32 bytes of data 故障解决
  2. android movie studio 下载,Movie Studio+ Video Editor
  3. Dart 异步编程之 Isolate 和事件循环
  4. Nodejs扩展,实现消息弹窗
  5. 三种常见嵌入式设备通信协议
  6. cf1526 C Potions
  7. 【算法分析与设计】浅谈递归与非递归
  8. Java历程-初学篇 Day02变量,数据类型和运算符
  9. vsftp.conf 配置文件详解
  10. 【转】Linux下发生段错误时如何生成core文件
  11. Java解析函数_Java Predicate及Consumer接口函数代码实现解析
  12. 解决IIS进程回收后第一次访问慢的问题
  13. SSM框架原理,作用及使用方法,详细解释
  14. 小程序——scroll-view 页面不滚动与隐藏导航条
  15. DNX 版本升级命令
  16. 微信公众号开发教程(六)获取微信用户信息-网页授权
  17. STM32SD卡实现USB虚拟U盘
  18. 数据库如何备份与恢复
  19. 统计学基础知识梳理(三)
  20. python 输入一个数,判断是不是水仙花数

热门文章

  1. maven创建的工程eclipse 项目--属性--为什么没有deployment assembly 按钮呢
  2. 漫谈 Windows Server 管理工具
  3. (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  4. Android中文API (39) —— AbsSpinner
  5. 大数据将如何重构汽车产业的商业模式?
  6. 【POI xls Java map】使用POI处理xls 抽取出异常信息 --java1.8Group by ---map迭代 -- 设置单元格高度...
  7. awk用法:取列表最后一列
  8. linux中ssh连接慢的一种解决方法
  9. Mysql命令行修改字段类型
  10. php 23种设计模型 - 组合模式(合成模式)