Laravel ERROR: Class 'Collective\Html\HtmlServiceProvider' not found after running composer require laravelcollective/html in CMD

Laravel ERROR: Class 'Collective\Html\HtmlServiceProvider' not found after running composer require laravelcollective/html in CMD

注意: 到目前为止, 的回答对我没有帮助。而且,我认为 4 个多小时的徒劳搜索解决方案最终证明我可以寻求进一步的帮助...

我关注 this tutorial 是为了在我的 Laravel 项目中使用一个表单,并允许我在我的数据库中保存一些用户输入。按照指示,我通过 CMD 执行了这一行:

composer require "laravelcollective/html":"^5.3.0"

然后,我在 config/app.php:

中添加了这些
'providers' => [
// ...
  Collective\Html\HtmlServiceProvider::class,
// ...
],

'aliases' => [
// ...
  'Form' => Collective\Html\FormFacade::class,
  'Html' => Collective\Html\HtmlFacade::class,
// ...
],

在我的视图中,我有这个,只是为了检查现在是否一切都准备好可以使用了:

{!! Form::open([]) !!}
{!! Form::text('name', @$name) !!}
{!! Form::password('password') !!}
{!! Form::submit('Send') !!}
{!! Form::close() !!}

但是,它给了我这个错误:

FatalThrowableError in ProviderRepository.php line 146: Class 'Collective\Html\HtmlServiceProvider' not found

我什至将它添加到 我的 composer.json,以防万一这可能是 "missing ingredient":

"require": {
    "laravel/framework": "5.0.*",
    "laravelcollective/html": "~5.0"
}

但也没有解决任何问题

另请注意,我发现了两个 composer.json 文件:一个在...

C:\xampp\htdocs\laravelproject

还有一个里面...

C:\xampp\htdocs\laravelproject\project

...所以我都编辑了。

旁注: "project" 文件夹是 "original" 根文件所在的位置(例如文件夹 app、config、resources 等。 . 我之前已经重新定位了它们,以便从我的 URL.

中删除 "public" 这个词

PS: 我是 Laravel、Composer 和 CMD 的新手。我唯一的背景是 PHP 和 CodeIgniter。

请帮忙。

我不确定我是否应该在 运行 composer require "laravelcollective/html":"^5.3.0" 之后在这里提供 CMD 结果(因为它有 142 行长),但我有一份副本,以防万一。

显然,Laravel 的 Illuminate/Foundation/ProviderRepository.php 正在唠叨找不到提供者:

138     /**
139      * Create a new provider instance.
140      *
141      * @param  string  $provider
142      * @return \Illuminate\Support\ServiceProvider
143      */
144     public function createProvider($provider)
145     {
146         return new $provider($this->app);
147     }

我刚刚在 Laravel 5.3 的全新安装上成功测试了它。请遵循此清单:

  1. 问题composer require "laravelcollective/html":"^5.3.0"
  2. 验证 vendor/laravelcollective/html 目录是否存在。
  3. 确认您的 composer.json 文件已更新,并且在您的依赖项(require 块)中有一个 laravelcollective/html 包的条目。
  4. Collective\Html\HtmlServiceProvider::class 添加到 config/app.phpproviders 数组中。
  5. 'Form' => Collective\Html\FormFacade::class'Html' => Collective\Html\HtmlFacade::class 添加到您的 aliases 数组。
  6. 确认 API 存在:发出 php artisan tinker 命令并尝试玩 Form:: APIs。查看是否抛出任何错误。

您可能已经完成了所有这些步骤。如果是这种情况,只需使用 composer remove laravelcollective/html 命令删除软件包并重新执行所有步骤即可。

最重要的是,了解您的项目文件所在的位置。去掉多余的 project/