我已经使用composer创建了自定义php库。该库的composer.json
如下所示:
{
"name": "singboard/platform-fetcher",
"description": "Fetch reviews from third part platforms.",
"license": "proprietary",
"version": "0.1.0-dev",
"authors": [
[...]
],
"type": "library",
"require": {
[...]
},
"require-dev": {
[...]
},
"autoload": {
"psr-4": {
"Singboard\\PlatformFetcher\\": "src/"
}
}
}
作曲家库的文件夹结构是这样的:
├── composer.json
├── composer.lock
└── src
└── FacebookFetcher.php
现在,我已将该库包含到我的laravel项目中。在我的laravel项目的composer.json
中,我添加了以下内容:
"repositories": [
{
"type": "package",
"package": {
"name": "singboard/platform-fetcher",
"version": "0.1.0-dev",
"type": "library",
"source": {
"url": "xxx-xxx",
"type": "git",
"reference": "master"
}
}
}
],
"require": {
"singboard/platform-fetcher": "0.1.0-dev"
},
问题在于,当我尝试调用FacebookFetcher.php
类时,会收到消息Class 'Singboard\PlatformFetcher\FacebookFetcher' not found
。问题是什么?
答案 0 :(得分:1)
如composer documentation中所述,这不是包括自定义远程库的正确方法。您应该使用以下方法实现您的库:
{
"require": {
"vendor/my-private-repo": "dev-master"
},
"repositories": [
{
"type": "vcs",
"url": "git@bitbucket.org:vendor/my-private-repo.git"
}
]
}