Laravel5.8 扩展开发不能自动发现 providers
小白,想要做个扩展包。我在app
同级目录新建了个packages
目录并且在目录内新建了composer
包,填写了基本信息。然后在laravel的composer.json
添加了psr-4
引入扩展:
...
"autoload": {
"psr-4": {
"App\\": "app/",
"Noecs\\AliCloud\\": "packages/noecs/alicloud/src"
},
"classmap": [
"database/seeds",
"database/factories"
]
},
...
我的拓展包的composer.json
内容如下:
{
"name": "noecs/alicloud",
"description": "Laravel Ali Cloud",
"keywords": ["laravel", "Ali", "Cloud"],
"license": "MIT",
"authors": [
{
"name": "noeccs",
"email": "noeccs@qq.com"
}
],
"require": {},
"autoload": {
"psr-4": {
"Noecs\\AliCloud\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Noecs\\AliCloud\\Tests\\": "tests/"
}
},
"extra": {
"laravel": {
"providers": [
"Noecs\\AliCloud\\AliCloudServiceProvider"
],
"aliases": {
}
}
}
}
服务提供者中我写了将配置文件publish到config文件夹中,运行了composer dump-autoload
命令。现在遇到一个很奇怪的问题,laravel始终无法自动发现我的服务提供者。当我手动将服务提供者添加到config/app.php
中,laravel就能发现我的provider了。这是什么情况。
推荐文章: