Fat Free Framework (F3) - 是否可以递归自动加载?
Fat Free Framework (F3) - Is it possible to autoload recursively?
我不知道我是否完全理解 f3 文档,但我正在尝试将额外的 类 放入 /app/vendor
。
每个库都有自己的子文件夹。例如,Kint
。为了自动加载,我必须在 AUTOLOAD
中包含所有路由 config.ini
示例:
AUTOLOAD=app/;app/vendor;app/Kint;app/vendor/etcetera...
但如果我有:
AUTOLOAD=app/;app/vendor/
,vendor里面的所有库都没有加载。有什么方法可以递归地自动加载 app/vendor/
内的所有库吗? (类似于... app/vendor/*
)。还是必须一个一个放?
此外,我想仅在环境设置为开发时自动加载 Kint
(将常量 DEVELOPMENT
设置为 true
)。是否可以根据环境进行条件自动加载?如果是这样,我如何将它们放入 config.ini
?
如果所有供应商子文件夹都映射到根命名空间,一个简单的目录循环就可以做到:
foreach(glob('app/vendor/*') as $file)
if (is_dir($file))
$f3->AUTOLOAD.=';'.$file.'/';
至于条件文件夹:
if (DEVELOPMENT)
$f3->AUTOLOAD.=';app/Kint/';
我不知道我是否完全理解 f3 文档,但我正在尝试将额外的 类 放入 /app/vendor
。
每个库都有自己的子文件夹。例如,Kint
。为了自动加载,我必须在 AUTOLOAD
中包含所有路由 config.ini
示例:
AUTOLOAD=app/;app/vendor;app/Kint;app/vendor/etcetera...
但如果我有:
AUTOLOAD=app/;app/vendor/
,vendor里面的所有库都没有加载。有什么方法可以递归地自动加载 app/vendor/
内的所有库吗? (类似于... app/vendor/*
)。还是必须一个一个放?
此外,我想仅在环境设置为开发时自动加载 Kint
(将常量 DEVELOPMENT
设置为 true
)。是否可以根据环境进行条件自动加载?如果是这样,我如何将它们放入 config.ini
?
如果所有供应商子文件夹都映射到根命名空间,一个简单的目录循环就可以做到:
foreach(glob('app/vendor/*') as $file)
if (is_dir($file))
$f3->AUTOLOAD.=';'.$file.'/';
至于条件文件夹:
if (DEVELOPMENT)
$f3->AUTOLOAD.=';app/Kint/';