运行时配置

这些函数的行为受 php.ini 中的设置影响。

Yaf 配置选项
名称 默认值 可更改 变更日志
yaf.library   INI_ALL
yaf.action_prefer 0 INI_ALL
yaf.lowcase_path 0 INI_ALL
yaf.use_spl_autoload 0 INI_ALL
yaf.forward_limit 5 INI_ALL
yaf.name_suffix 1 INI_ALL
yaf.name_separator   INI_ALL
yaf.cache_config 0 INI_SYSTEM
yaf.environ product INI_SYSTEM
yaf.use_namespace 0 INI_SYSTEM

以下是对配置指令的简短解释。

yaf.library string

全局库路径,Yaf_loader 将在此目录中搜索全局库。

yaf.action_prefer int

如果 PATH_INFO 中只有一部分,是否应该将其视为控制器或操作。

如果此配置为 On,则将视为操作名称。

yaf.lowcase_path int

在类自动加载期间是否将所有路径转换为小写。

yaf.use_spl_autoload int

当此值为 On 时,如果 Yaf_Loader 找不到类,它将返回 false,然后给其他自动加载函数机会被调用。

当此值为 Off 时,如果 Yaf_Loader 找不到类,它将返回 true,并使类自动加载立即失败。

注意:

Yaf 在 Yaf_Application 实例化期间注册其加载器,因此在实例化之前注册的任何其他自动加载器将在 Yaf_Loader::autoload() 之前被调用。

当此值为 Off(默认)时,Yaf_Loader::autoload() 将始终返回 true

yaf.forward_limit int

最大转发计数,默认为 5。这意味着您在转发堆栈中可以有最大 5 个值。

这是为了防止递归 Yaf_Controller_Abstract::forward() 的保护措施。

yaf.name_suffix int

当此值为 On 时,Yaf_Loader 将通过类的后缀来识别它是否为 MVC 类。

当此值为 Off 时,Yaf_Loader 将查看类名的前缀。

yaf.name_separator string

当此值不为空时,Yaf_Loader 将识别类后缀和此值的字符串值。

例如,当此值为 “_” 时,Yaf_Loader 将将 Index_Controller 视为 Controller 类,将 IndexController 视为普通类。

yaf.cache_config int

如果此值为 On,并且您同时使用 ini 配置文件作为 Yaf_Application() 的参数,则 ini 配置文件的编译结果将缓存在 PHP 进程中。

注意:

Yaf 检查 ini 文件的 mtime,如果自上次编译以来它已更改,Yaf 将重新加载它。

警告

Yaf 使用 ini 文件路径作为缓存条目键,因此请在 ini 文件路径中使用绝对路径,否则如果两个应用程序使用相同的 ini 配置文件的相对路径,可能会出现一些冲突。

yaf.environ string

此值默认为 “product”,用于 Yaf 从 ini 配置文件中获取配置部分。

也就是说,如果此值为 “product”,Yaf 将使用 ini 配置文件(Yaf_Application 的第一个参数)中名为 “product” 的部分作为 Yaf_Application 的最终配置。

yaf.use_namespace int

如果此值为 On,则 Yaf 的所有类都将以命名空间样式命名。

例如

Yaf_Route_Rewrite => \Yaf\Route\Rewrite
Yaf_Request_Http  => \Yaf\Request\Http
        
有一个例外,那就是一些类,比如 Yaf_Controller_Abstract。最后一个组件是 PHP 的关键字,不能用作类名,因此对于此类类
Yaf_Controller_Abstract => \Yaf\Controller_Abstract
Yaf_Route_Static => \Yaf\Route_Static
        

添加注释

用户贡献注释

此页面没有用户贡献的注释。
To Top