funkjedi / composer-include-files
包含文件优先级高于自动加载文件。
1.1.0
2020-06-25 19:56 UTC
Requires
- composer-plugin-api: ^1.0 || ^2.0
This package is auto-updated.
Last update: 2024-08-26 22:54:32 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" ] }, }