PHP Conference Japan 2024

运行时配置

这些函数的行为受 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 字符串

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

yaf.action_prefer 整数

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

如果此配置打开,它将被视为操作名称。

yaf.lowcase_path 整数

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

yaf.use_spl_autoload 整数

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

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

注意:

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

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

yaf.forward_limit 整数

最大转发计数,默认为 5。这意味着转发堆栈中的最大值为 5。

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

yaf.name_suffix 整数

当此值为 On 时,Yaf_Loader 将根据类的后缀来识别类,以确定它是否为 MVC 类。

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

yaf.name_separator 字符串

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

例如,当此值为 "_" 时,Yaf_Loader 将 Index_Controller 视为控制器类,IndexController 视为普通类。

yaf.cache_config 整数

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

注意:

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

警告

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

yaf.environ 字符串

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

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

yaf.use_namespace 整数

如果此值为 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