【发布时间】:2019-10-15 02:29:12
【问题描述】:
我创建了一个自定义包,它位于我们的 GitLab 存储库中,这是它的 composer.json:
{
"name": "TeamScanblox/InternalAPI_Ref",
"description": "",
"keywords": [
"swagger",
"php",
"sdk",
"api"
],
"homepage": "http://swagger.io",
"license": "proprietary",
"authors": [
{
"name": "Swagger and contributors",
"homepage": "https://github.com/swagger-api/swagger-codegen"
}
],
"require": {
"php": ">=5.5",
"ext-curl": "*",
"ext-json": "*",
"ext-mbstring": "*",
"guzzlehttp/guzzle": "^6.2"
},
"require-dev": {
"phpunit/phpunit": "^4.8",
"squizlabs/php_codesniffer": "~2.6",
"friendsofphp/php-cs-fixer": "~2.12"
},
"autoload": {
"psr-4": { "InternalAPI\\Ref\\" : "lib/" }
},
"autoload-dev": {
"psr-4": { "InternalAPI\\Ref\\" : "test/" }
}
}
这是它的文件夹顶层结构:
我将它作为 "TeamScanblox/InternalAPI_Ref": "*" 包含在我需要它的顶级项目的 composer .json 中,问题是它不会通过 PSR-4 自动解析和包含在那个项目。包含它并使其正常工作的唯一方法是在项目的“psr-4”中添加“InternalAPI\Ref\”:“vendor/TeamScanblox/InternalAPI_Ref/lib/”。这是为什么?我做错了什么/没有做对让它自动加载?
我将它包含在项目的 composer.json 中,如下所示:
{
"type": "package",
"package": {
"name": "TeamScanblox/InternalAPI_Ref",
"version": "1.0.0",
"type": "package",
"source": {
"url": "git@gitlab.com:TeamScanblox/InternalAPI_Ref.git",
"type": "git",
"reference": "master"
}
}
}
【问题讨论】:
标签: php composer-php