将正在开发的作曲家包存储在供应商目录中,如何设置自动加载器



>我正在开发一个软件包,我想在发布之前将其存储在供应商目录中。

因此,一旦通过作曲家安装Basset的服务提供商,那么说Basset的服务提供商的路径是 /siteroot/vendor/jasonlewis/basset/src/Basset/BassetServiceProvider.php

哪个作曲家映射在它的自动加载器很好,现在如果我在 /siteroot/vendor/hailwood/databaseconfigloader/src/DatabaseConfigLoader/DatabaseConfigLoaderServiceProvider.php

我需要向 composer.json 文件添加什么才能使其正确生成自动加载映射?

我可以手动编辑autoload_namespaces.php文件以添加映射
'Hailwood\DatabaseConfigLoader' => $vendorDir . '/hailwood/databaseconfigloader/src/'这有效,但当我进行作曲家更新时显然会被覆盖,我尝试添加

"psr-0": {
            "Hailwood\DatabaseConfigLoader": "src/"
         }

composer.json,但这'Hailwood\DatabaseConfigLoader' => $baseDir . '/src/',

输出不起作用。

在状态中,您不尊重 PSR-0。所以你有两个解决方案:

尊重PSR-0

您必须将代码放在 /siteroot/vendor/hailwood/databaseconfigloader/src/Hailwood/DatabaseConfigLoader/DatabaseConfigLoaderServiceProvider.php 中。之后,只需执行:

"psr-0":
{
    "Hailwood\DatabaseConfigLoader": "vendor/hailwood/databaseconfigloader/src/"
}

使用类图自动加载

试试:

"classmap": ["vendor/hailwood/databaseconfigloader/src/"]

相关内容

  • 没有找到相关文章

最新更新