您应该提供一个配置数组或 ini 配置文件(参见 Yaf_Config_Ini)路径到 Yaf_Application::__construct().
Yaf 会自动合并应用程序配置和用户配置。应用程序配置以 "yaf." 或 "application." 为前缀。如果同时存在 "yaf." 和 "application.",则优先使用 "application."。
示例 #1 一个 PHP 数组示例
<?php
$configs = array(
"application" => array(
"directory" => dirname(__FILE__),
"dispatcher" => array(
"catchException" => 0,
),
"view" => array(
"ext" => "phtml",
),
),
);
$app = new Yaf_Application($configs);
?>
示例 #2 一个 ini 文件示例
[yaf] yaf.directory = APPLICATION_PATH "/appliation" yaf.dispatcher.catchException = 0 [product : yaf] ; user configuration list here
名称 | 默认值 | 变更日志 |
---|---|---|
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
字符串应用程序的目录,即包含 "controllers"、"views"、"models"、"plugins" 文件夹的文件夹。
注意:
此配置项是唯一没有默认值的项。您应始终手动定义它。
application.ext
字符串PHP 脚本的文件扩展名,用于类自动加载(Yaf_Loader)。
application.view.ext
字符串视图模板脚本的文件扩展名。
application.modules
字符串注册模块的逗号分隔列表,用于路由过程,特别是在 PATH_INFO 中有超过三个段的情况下,
Yaf 需要一种方法来确定第一个段是否为模块名称。
application.library
字符串本地库目录,参见 Yaf_Loader 和 yaf.library。
注意:
在 Yaf 2.1.6 之后,此配置项可以是数组。库路径将尝试使用在 application.library.directory 中设置的项目。
application.library.directory
字符串application.library 的别名。在 Yaf 2.1.6 中引入。
application.library.namespace
字符串本地库命名空间的逗号分隔前缀。
在 Yaf 2.1.6 中引入。
application.bootstrap
字符串Bootstrap 类脚本的绝对路径。
application.baseUri
字符串用于在路由过程中移除请求 uri 的固定前缀。例如,有一个请求的请求 uri 为 "/prefix/controller/action"。如果您将 application.baseUri 设置为 "/prefix",那么只有 "/controller/action" 将在路由过程中作为 PATH_INFO 处理。
通常,不需要设置此值。
application.dispatcher.throwException
布尔值如果将其设置为 On,则在发生某些错误时,Yaf 将抛出异常。另见 Yaf_Dispatcher::throwException().
application.dispatcher.catchException
布尔值如果将其设置为 On,则在出现未处理的异常时,Yaf 将转发到 Error 控制器/操作。另见 Yaf_Dispatcher::catchException().
application.dispatcher.defaultRoute
字符串默认路由,如果未指定,则使用静态路由作为默认路由。参见:Yaf_Router::addRoute().
application.dispatcher.defaultModule
字符串默认模块名称,另见 Yaf_Dispatcher::setDefaultModule().
application.dispatcher.defaultController
字符串默认控制器名称,另见 Yaf_Dispatcher::setDefaultController().
application.dispatcher.defaultAction
字符串默认操作名称,另见 Yaf_Dispatcher::setDefaultAction().
application.system
字符串在 application.ini 中设置 yaf 运行时配置,例如:application.system.lowcase_path
注意:
只有那些
INI_ALL
配置可以通过这种方式设置。