orbitali/composer-include-files

包含的文件优先级高于自动加载文件。

dev-master 2021-01-18 13:56 UTC

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"
        ]
    },
}