您应该提供一个配置数组或一个 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
配置才能以这种方式设置。