## 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基礎知識
- 運行流程
- YAF架構
- 目錄結構
- Yaf的配置
- Yaf的Bootstrap
- Yaf的多模塊配置
- Yaf中使用命名空間
- 本書框架配置
- 框架目錄結構
- 數據庫配置
- 緩存配置
- 全局配置
- 公共助手函數
- 請求與響應
- 請求-Request
- 響應-Response
- 數據庫操作
- 使用think-orm
- 接口開發
- RESTful接口設計
- Yar RPC接口設計
- 數據驗證
- 數據驗證 - validate
- 網頁開發
- Session
- Cookie
- 路由設置
- 工具類
- Rsa加密
- Random快速生成隨機數
- Cache - 緩存
- Weapp - 微信小程序類
- Qiniu - 七牛云存儲使用
- 支付類(微信&支付寶)
- Logs - 日志記錄