在作曲家包中自动加载PHP文件



我正在尝试创建一个包含SRC/function.php的Composer软件包,并带有某些常规函数。我在composer.json中有以下内容,以使其自动加载:

"autoload": {
    "files": ["src/functions.php"]
}

当我将此包导入项目中时,它将尝试将SRC/functions.php加载到当前项目(本地(中,以代替导入的软件包。有没有办法确保导入时加载正确的文件(./vendor/bla/src/functions.php(?

自动加载并不是为了加载所有内容。如果src/functions.php包含类,则只需确保其命名安排正确,我认为自动加载器会选择您的本地课程而不是软件包的理由。如果您在项目中使用相同的命名空间和项目中的代码,那么您基本上应该停止这样做。

如果src/functions.php只是一堆功能,那么我坚定地建议对代码进行重构并将其包裹在适当的名称的类中。您可以使您的函数静态方法,因此从用法角度来看基本上不会改变。

编辑

完成重构后,将您的composer.json从所讨论的内容更改为:

"autoload": {
    "classmap": ["src/"]
}

相关内容

  • 没有找到相关文章

最新更新