注意: 到目前为止,此线程没有任何答案对我有帮助。而且,我认为超过 4 个小时徒劳地寻找解决方案最终证明我需要寻求进一步的帮助......
我遵循 本教程 是为了在我的 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() !!}
但是,它给了我这个错误:
ProviderRepository.php 第 146 行中的 FatalThrowableError: 未找到“Collective\Html\HtmlServiceProvider”类
我什至将其添加到我的composer.json中,以防万一这可能是“缺少的成分”:
"require": {
"laravel/framework": "5.0.*",
"laravelcollective/html": "~5.0"
}
但是也没有解决任何问题。
另请注意,我发现了两个composer.json 文件:其中一个......
C:\xampp\htdocs\laravelproject
还有一个里面...
C:\xampp\htdocs\laravelproject\project
...所以我都编辑了。
旁注:“项目”文件夹是可以找到“原始”根文件的位置(例如文件夹应用程序、配置、资源等。我之前已重新定位它们,以便从其中删除“公共”一词)我的网址。
PS: 我对 Laravel、Composer 和 CMD 都很陌生。我唯一的背景是 PHP 和 CodeIgniter。
请帮忙。
我不确定运行后是否应该在此处提供 CMD 结果 composer require "laravelcollective/html":"^5.3.0" (因为它有 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 上成功测试了它。请遵循此清单:
composer require "laravelcollective/html":"^5.3.0"
。 vendor/laravelcollective/html
目录是否存在。 composer.json
文件已更新,并且依赖项(laravelcollective/html
块)中有 require
包的条目。 Collective\Html\HtmlServiceProvider::class
添加到 providers
的 config/app.php
数组中。 'Form' => Collective\Html\FormFacade::class
和 'Html' => Collective\Html\HtmlFacade::class
添加到 aliases
数组中。 php artisan tinker
命令并尝试使用 Form::
API。查看是否抛出任何错误。 您可能已经完成了所有这些步骤。如果是这种情况,只需使用
composer remove laravelcollective/html
命令删除该包,然后重新执行所有步骤即可。
最重要的是,了解项目文件所在的位置。摆脱多余的
project/
。
包laravelcollective/html
已被废弃,您应该避免使用它。
使用
composer require spatie/laravel-html