【发布时间】:2017-06-24 08:34:06
【问题描述】:
我正在构建一个 PHP 包,其中有一个文件夹(比如说/vendor/myvendor/packagename/src/Classes),我想使用 PSR-4 自动加载它。
但我还想提供一个选项,将该文件夹从其当前位置复制到项目根目录(比如说 /packagename/Classes,类似于 Laravel 的 publish 命令)。
那么我该如何进行自动加载呢?
我希望 Composer 首先查看该文件夹是否存在于应用程序的根目录下,如果存在则自动加载该文件夹。否则回退到/vendor 内的默认位置。这可能吗?
FWIW,这是 Laravel 特定的包,这意味着我可以使用 Laravel 的 publish 命令将整个文件夹复制到任何地方,但是
- 我必须手动将新位置添加到自动加载;
- 即使我这样做了,新旧位置之间也会存在命名空间冲突。
【问题讨论】:
标签: php laravel composer-php autoload