这些函数的行为受 php.ini 中的设置影响。
名称 | 默认值 | 可更改 | 变更日志 |
---|---|---|---|
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 => \Yaf\Controller_Abstract Yaf_Route_Static => \Yaf\Route_Static