我在最新的项目中使用作曲家并像这样映射我的函数
"require": {
...
},
"require-dev": {
...
},
"autoload": {
"psr-4": {
...
},
"files": [
"src/function/test-function.php"
]
}
我想文件夹函数中会有很多文件,例如:real-function-1.php,real-function-2.php等。那么,composer可以调用文件夹函数中的所有文件吗?我懒得用
"files": [
"src/function/real-function-1.php",
"src/function/real-function-2.php",
..,
"src/function/real-function-100.php",
]
有没有像我一样懒的...
如果你不能命名你的函数(因为它会破坏一堆代码,或者因为你不能使用 PSR-4),并且你不想创建保存你的函数的静态类(然后可以自动加载) ),您可以创建自己的全局包含文件,然后告诉作曲家包含它。
作曲家.json
{
"autoload": {
"files": [
"src/function/include.php"
]
}
}
包含.php
$files = glob(__DIR__ . '/real-function-*.php');
if ($files === false) {
throw new RuntimeException("Failed to glob for function files");
}
foreach ($files as $file) {
require_once $file;
}
unset($file);
unset($files);
这是不理想的,因为它会为每个请求加载每个文件,无论其中的功能是否被使用,但它会起作用。
注意:确保将包含文件保存在 /real-function 或类似目录之外。或者它也会包含自身并变成递归函数并最终抛出内存异常。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)