0.0.0 /composer-include-files
包含文件的优先级高于自动加载文件。适用于覆盖 Laravel 辅助函数。
1.6.1
2022-06-18 07:04 UTC
Requires
- composer-plugin-api: ^1.0 || ^2.0
Requires (Dev)
- composer/composer: ^2.0
This package is auto-updated.
Last update: 2024-09-13 20:39:57 UTC
README
当使用 Composer 自动加载器时,如果需要在依赖项自动加载的文件之前包含项目文件,你将无计可施。现在不再是了!
安装
composer require 0.0.0/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" ] }, }
Composer v2.2 引入了一个新的安全功能:https://getcomposer.org.cn/doc/06-config.md#allow-plugins
从 Composer 2.2.0 版本开始,allow-plugins 选项添加了一层安全措施,允许您限制在 Composer 运行期间能够执行代码的 Composer 插件。
因此,您还需要将此库添加到您的 composer.json
文件中允许的插件列表,如下所示
{ "config": { "allow-plugins": { "0.0.0/composer-include-files": true } } }
特定用例
当需要覆盖 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" ] }, }