## 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 - 日志记录