>我正在开发一个软件包,我想在发布之前将其存储在供应商目录中。
因此,一旦通过作曲家安装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/"]