Laravel 自定义 class 未找到?

Laravel custom class not found?

我收到以下错误

"Class 'Martins\ArtisanGUI\ArtisanGUIServiceProvider' not found",

我已经像 Martins\ArtisanGUI\ArtisanGUIServiceProvider::class 一样在 config/app.php 中编写并重新检查 namespaces 和作曲家,但我无法弄清楚哪里出了问题。

您正在编辑您的包的作曲家文件,而不是您的项目。 由于该包似乎不是由作曲家安装和管理的,因此您需要让项目的作曲家知道这个包。

您应该能够在项目的 composer.json 文件中添加本地 vcs 存储库:

"repositories": [
    {
        "type": "vcs",
        "url": "packages/martins-74/artisangui"
    }
],
"require": {
    "martins-74/artisangui": "*"
}

这将使您不必在两个 json 文件中重复任何作曲家规则。

您的项目中有两个 composer.json 文件:

  1. 你的根Laravel项目
  2. 在您的包根目录中 (packages/martins-74/artisangui)

在第一个 composer.json 文件中(laravel composer.json):

"psr-4": {
    "App\": "app/",
    "Martines\ArtisanGUI\" : "packages/martins-74/artisangui/src"            
}

秒composer.json文件(你的包composer.json):

"psr-4": {
     "Martines\ArtisanGUI\": "src",
}

之后运行composer dump-autoload

希望这对你有用