# Yaf的配置
## Yaf必要的配置項
Yaf的配置文件放在 基礎目錄結構的位置是:
/conf/application.ini
> Yaf和用戶共用一個配置空間, 也就是在Yaf\_Application初始化時刻給出的配置文件中的配置. 作為區別, Yaf的配置項都以ap開頭. Yaf的核心必不可少的配置項只有一個(其實, 這個也可以有默認參數, 但是作者覺得完全沒有配置, 顯得太寒酸了).
| 名稱 | 值類型 | 說明 |
| --- | --- | --- |
| application.directory | String | 應用的絕對目錄路徑 |
### Yaf可選配置項
| 名稱 | 值類型 | 默認值 | 說明 |
| --- | --- | --- | --- |
| application.ext | String | php | PHP腳本的擴展名 |
| application.bootstrap | String | Bootstrapplication.php | Bootstrap路徑(絕對路徑) |
| application.library | String | application.directory + "/library" | 本地(自身)類庫的絕對目錄地址 |
| application.baseUri | String | NULL | 在路由中, 需要忽略的路徑前綴, 一般不需要設置, Yaf會自動判斷. |
| application.dispatcher.defaultModule | String | index | 默認的模塊 |
| application.dispatcher.throwException | Bool | True | 在出錯的時候, 是否拋出異常 |
| application.dispatcher.catchException | Bool | False | 是否使用默認的異常捕獲Controller, 如果開啟, 在有未捕獲的異常的時候, 控制權會交給ErrorController的errorAction方法, 可以通過$request->getException()獲得此異常對象 |
| application.dispatcher.defaultController | String | index | 默認的控制器 |
| application.dispatcher.defaultAction | String | index | 默認的動作 |
| application.view.ext | String | phtml | 視圖模板擴展名 |
| application.modules | String | Index | 聲明存在的模塊名, 請注意, 如果你要定義這個值, 一定要定義Index Module |
| application.system.\* | String | \* | 通過這個屬性, 可以修改yaf的runtime configure, 比如application.system.lowcase\_path, 但是請注意只有PHP\_INI\_ALL的配置項才可以在這里被修改, 此選項從2.2.0開始引入 |
### 配置文件的讀取
(1)通過Yaf\_Application::app()->getConfig()獲取:
Yaf\_Application::app()為應用的實例,它返回的一個Yaf\_Config\_Ini的對象
~~~
$config = Yaf\Application::app()->getConfig();
var_dump($config->application->directory);
~~~
(2)通過Yaf\_config\_ini實例獲取,將配置文件作為實例化參數實例化Yaf\_Config\_ini,通過Yaf\_Config\_ini來獲取
~~~
$config = new Yaf\Config\Ini(APP_PATH.'/conf/application.ini');
var_dump($config->common->application->directory);
~~~
或者:
~~~
$config = new Yaf\Config\Ini(APP_PATH.'/conf/application.ini', 'product');
var_dump($config->application->directory);
~~~
(3)通過對象注冊樹Yaf\_Registry來獲取:當然其實這并不是一種獲取配置的方式,這種方式的前提是,在獲取獲取后存到對象注冊樹Yaf\_
Registry中才能獲取到
~~~
$config = Yaf\Application::app()->getConfig();
Yaf\Registry::set('config', $config);
var_dump(Yaf\Registry::get('config'));
~~~
注:如果覺得使用對象數據不習慣,可以使用toArray方法,將對象轉化為數組
更多的Yaf\_Config\_Ini方法可以參考:[http://php.net/manual/zh/class.yaf-config-ini.php](http://php.net/manual/zh/class.yaf-config-ini.php)
- 序言
- 安裝 Yaf
- Yaf基礎知識
- 1.運行流程
- 2.YAF架構
- 3.目錄結構
- 4.Yaf的配置
- 5.Yaf的Bootstrap
- 6.Yaf的多模塊配置
- 7.Yaf中使用命名空間
- 本書框架配置
- 1.框架目錄結構
- 2.數據庫配置
- 3.緩存配置
- 4.全局配置
- 5.公共助手函數
- 請求與響應
- 1.請求-Request
- 2.響應-Response
- 數據庫操作
- 使用think-orm
- 接口開發
- 1.RESTful接口設計
- 2.Yar RPC接口設計
- 數據驗證
- 數據驗證 - validate
- 網頁開發
- Session
- Cookie
- 路由設置
- 工具類
- 1.Rsa加密
- 2.Random快速生成隨機數
- 3.Cache - 緩存
- 4.Weapp - 微信小程序類
- 5.Qiniu - 七牛云存儲使用
- 6.支付類(微信&支付寶)
- 7.Logs - 日志記錄