如何根据需要在Composer中自动加载助手功能?

时间:2018-11-11 18:05:10

标签: php composer-php autoload

假设每个功能有1个文件:

/src/Helpers/fooHelper.php

ImmutableList

/src/Helpers/barHelper.php

List

我看到有

MutableList

是否可以根据需要而不是每个请求通过Composer自动加载这些功能?

2 个答案:

答案 0 :(得分:0)

  

是否可以根据需要而不是每个请求通过Composer自动加载这些功能?

否,PHP不支持自动加载功能。您需要手动加载它们,或者将带有函数声明的文件添加到autoload.files中的composer.json配置中-即使您从未使用过,它们也会在每个请求中加载。

目前唯一可行的解​​决方法是将帮助程序包装在某个静态类中,可以自动加载这些类而不会造成任何麻烦。

class MyHelper {

    public static function fooHelper() {}

    public static function barHelper() {}
}

MyHelper::fooHelper();
MyHelper::barHelper();

答案 1 :(得分:-1)

如果要为每个帮助程序文件添加它,请执行以下方法:

"autoload": {
    "files" : [
        "path_to file_1.php",
        "path_to file_2.php",
        "and so on"
    ]
}

在运行命令composer dump-autoloadcomposer dumpautoload之后,它应该可以工作。