orbitali / composer-include-files
包含的文件优先级高于自动加载文件。
dev-master
2021-01-18 13:56 UTC
Requires
- composer-plugin-api: *
This package is auto-updated.
Last update: 2024-09-18 22:11:56 UTC
README
当使用Composer自动加载器时,如果需要在任何依赖项自动加载文件之前包含项目文件,你将无法做到。现在不再是这样了!
安装
composer require funkjedi/composer-include-files
用法
只需使用"include_files"添加您需要包含的文件,它们将在您的依赖项包含的任何文件之前被包含。
// composer.json (project) { "extra": { "include_files": [ "/path/to/file/you/want/to/include", "/path/to/another/file/you/want/to/include" ] }, }
特定用例
这需要的一个好例子是当覆盖Laravel提供的辅助函数时。
在过去,只需修改bootstrap/autoload.php以包含辅助函数就足够了。然而,PHPUnit的新版本在执行PHPUnit引导文件之前包含了Composer自动加载器。因此,这种方法覆盖辅助函数已经不可行,因为它会在包含引导文件时触发致命错误。
但现在我们可以使用Composer - Include Files 插件来按必要的顺序包含文件。
// composer.json (project) { "require": { "laravel/framework": "^5.2", "funkjedi/composer-include-files": "^1.0", }, "extra": { "include_files": [ "app/helpers.php" ] }, }