我将一个项目分为框架代码和自定义代码。框架代码将进入Laravel软件包。我有一个要向其中添加框架包的现有库,尽管它们当前位于单独的目录中。因此,我的composer.json autoload.psr4
是:
"autoload": {
"psr-4": {
"App\\": "app/",
"MyLibrary\\": "../MyLibrary/",
"MyLibrary\\Framework\\": "../framework/src/"
},
根据Laraval文档,我在composer.json中添加了extra
部分:
"extra": {
"laravel": {
"providers": [
"MyLibrary\\Framework\\ServiceProvider"
]
}
}
但是,当我artisan vendor:publish
时,MyLibrary \ Framework \ ServiceProvider不在提供程序列表中。任何标签也没有。除了命名空间文件的非常规位置,我不确定自己在做什么。
答案 0 :(得分:0)
您的composer.json文件应该像
"repositories": [
{
"type": "path",
"url": "packages/your-vendor/basic",
"options": {
"symlink": true
}
}
],
"require": {
"your-vendor/your-package": "dev-master"
},
,然后在包的composer.json
中"extra": {
"laravel": {
"providers": [
"MyLibrary\\Framework\\ServiceProvider"
]
}
}