yaf mysql_Yaf框架的配置
http://www.laruence.com/manual/yaf.ini.html //先看一下惠新宸鳥哥yaf官網(wǎng)的配置說明
我們可以在php.ini中定義開發(fā)環(huán)節(jié)配置項,把本地開發(fā)設(shè)置成develop、測試環(huán)境配置成test、生產(chǎn)環(huán)境配置成product。代碼如下,默認的是product
[yaf]yaf.environ=develop
通過設(shè)置運行環(huán)境,在項目中可以通過ini_get(‘yaf.environ’)獲取環(huán)境參數(shù)。
yaf配置文件一般都放在項目的conf文件夾下,yaf application實例化的時候需要傳遞一個配置文件路徑,配置文件叫application.ini,先看下application.ini的結(jié)構(gòu):
[common]
; 通用配置
[product : common]
; 生產(chǎn)環(huán)境配置
[test : common]
; 測試環(huán)境配置
[develop : common]
; 開發(fā)環(huán)境配置
配置例子如下代碼
application.debug =TRUE
;當意外的錯誤發(fā)生的時候,開啟/關(guān)閉異常拋出。 當開啟的時候,Yaf將會拋出異常而不是觸發(fā)可捕捉的錯誤。
;1拋出異常. 0獲取可以調(diào)試的錯誤
application.dispatcher.throwException= 0;開啟/關(guān)閉自動異常捕獲功能
;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"
配置除了節(jié)之外,節(jié)和節(jié)之間還有繼承關(guān)系。
例如[product : common]就表示product的配置會繼承common的配置。
yaf在實例化應(yīng)用傳遞配置文件路徑和運行環(huán)境:
define("APPLICATION_PATH", realpath(dirname(__FILE__) . '/../'));
$app= new \Yaf\Application(APPLICATION_PATH . "/conf/application.ini", ini_get('yaf.environ'));
這樣當項目運行環(huán)境在develop下的時候,會優(yōu)先讀取[develop : common]內(nèi)的配置,如果沒有則會從[common]中獲取。
\Yaf\Application::app()->getConfig(); //在項目中任何地方都可以通過次代碼獲取application.ini中的配置。
事實上該例中可以不用傳遞ini_get(‘yaf.environ’)參數(shù),在實例化的時候yaf會自行讀取php.ini中的yaf.environ參數(shù)。但如果是其它的配置文件,則需要傳遞該參數(shù)。代碼如下
$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配置之外,把所有的配置都歸結(jié)到一個文件中,也可以分開配置,yaf中提供了\Yaf\Config\Ini類來處理這些額外的配置文件。
$config = new \Yaf\Config\Ini(APPLICATION_PATH . '/conf/url.ini', ini_get('yaf.environ'));
在實際讀取的時候,最好能設(shè)置一個靜態(tài)變量保存讀取到的配置,避免重復(fù)申請系統(tǒng)open函數(shù)調(diào)用。如下:
static $config = null;if ($config === null) {
$config= new \Yaf\Config\Ini(APPLICATION_PATH . '/conf/url.ini', ini_get('yaf.environ'));
}
詳細可以參考yaf擴展示例Bootstrap中的getUrlIniConfig方法。
總結(jié)
以上是生活随笔為你收集整理的yaf mysql_Yaf框架的配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vb php mysql_VB连接MYS
- 下一篇: linux cmake编译源码,linu