Yaf
PHP Manual

Application Configuration

你需要给出一个config的数组或者ini文件(参见 Yaf_Config_Ini) 用来传入 Yaf_Application::__construct().

Yaf和用户共用一个配置空间, 也就是在Yaf_Application初始化时刻给出的配置文件中的配置. 作为区别, Yaf的配置项都以"yaf."或者"application."开头,如果同一个配置项同时使用了"yaf."和"application.",那么"application."会生效,而"yaf."不会.

Example #1 config为数组的例子

<?php
    $configs 
= array(
            
"application" => array(
                
"directory" => dirname(__FILE__),
                
"dispatcher" => array(
                      
"catchException" => 0,
                    ),
                
"view" => array(
                       
"ext" => "phtml",
                    ),
                ),
           );
    
$app = new Yaf_Application($config);
?>

Example #2 config为ini文件的例子

[yaf]
yaf.directory = APPLICATION_PATH "/appliation"
yaf.dispatcher.catchException = 0

[product : yaf]
; user configuration list here

Yaf Application Config
名字 默认 更新日志
application.directory  
application.ext "php"
application.view.ext "phtml"
application.modules "index"
application.library application.directory . "/library"
application.library.directory application.directory . "/library"
application.library.namespace ""
application.bootstrap application.directory . "/Bootstrap" . application.ext
application.baseUri ""
application.dispatcher.defaultRoute  
application.dispatcher.throwException 1
application.dispatcher.catchException 0
application.dispatcher.defaultModule "index"
application.dispatcher.defaultController "index"
application.dispatcher.defaultAction "index"
application.system  

这是配置指令的简短说明。

application.directory string

用来指定"controllers", "views", "models", "plugins"的目录.

Note:

这是唯一一个没有默认值的配置项,你需要手动指定它.

application.ext string

PHP脚本的扩展名 Yaf_Loader).

application.view.ext string

视图模板扩展名

application.modules string

声明存在的模块名,尤其是路径超过3段的模块.

Yaf以此来找出路径第一段是否是一个模块的名称.

application.library string

本地(自身)类库的绝对目录地址, 参见 Yaf_Loaderyaf.library.

Note:

Yaf 2.1.6之后,这个配置项可以是一个数组,当它是数组的时候,类库的路径将尝试使用 application.library.directory 的值

application.library.directory string

Yaf 2.1.6加入

application.library.namespace string

以逗号分隔的本地库命名空间前缀。

Yaf 2.1.6加入

application.bootstrap string

Bootstrap路径(绝对路径)

application.baseUri string

在路由中, 需要忽略的路径前缀. 举个例子, 比如"/prefix/controller/action"这样的一个请求. 如果你将application.baseUri设置为"/prefix", 那么只有"/controller/action"会被当做路由路径.

通常不需要设置, Yaf会自动判断.

application.dispatcher.throwException bool

如果设置为On, Yaf会在发生错误的时候抛出异常,参见 Yaf_Dispatcher::throwException().

application.dispatcher.catchException bool

如果设置为On, Yaf会在捕获到异常的时候跳转到响应的错误页面,参见 Yaf_Dispatcher::catchException().

application.dispatcher.defaultRoute string

默认路由, 如果没用定义, 那么将使用静态路由来当做默认路由, 参见 Yaf_Router::addRoute().

application.dispatcher.defaultModule string

The default module name, see also Yaf_Dispatcher::setDefaultModule().

application.dispatcher.defaultController string

The default controller name, see also Yaf_Dispatcher::setDefaultController().

application.dispatcher.defaultAction string

The default action name, see also Yaf_Dispatcher::setDefaultAction().

application.system string

Set yaf runtime configure in application.ini, like: application.system.lowcase_path

Note:

only those PHP_INI_ALL configures can be set in this way


Yaf
PHP Manual