我正在尝试使用 Laravel 5 添加 HtmlServiceProvider。
我不断收到以下错误:
Compiled.php 第 6391 行中的 FatalErrorException: 未找到“Illuminate\Html\HtmlServiceProvider”类
这就是我的提供商的样子:
'providers' => [
/*
* Laravel Framework Service Providers...
*/
'Illuminate\Foundation\Providers\ArtisanServiceProvider',
'Illuminate\Auth\AuthServiceProvider',
'Illuminate\Bus\BusServiceProvider',
'Illuminate\Cache\CacheServiceProvider',
'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'Illuminate\Routing\ControllerServiceProvider',
'Illuminate\Cookie\CookieServiceProvider',
'Illuminate\Database\DatabaseServiceProvider',
'Illuminate\Encryption\EncryptionServiceProvider',
'Illuminate\Filesystem\FilesystemServiceProvider',
'Illuminate\Foundation\Providers\FoundationServiceProvider',
'Illuminate\Hashing\HashServiceProvider',
'Illuminate\Mail\MailServiceProvider',
'Illuminate\Pagination\PaginationServiceProvider',
'Illuminate\Pipeline\PipelineServiceProvider',
'Illuminate\Queue\QueueServiceProvider',
'Illuminate\Redis\RedisServiceProvider',
'Illuminate\Auth\Passwords\PasswordResetServiceProvider',
'Illuminate\Session\SessionServiceProvider',
'Illuminate\Translation\TranslationServiceProvider',
'Illuminate\Validation\ValidationServiceProvider',
'Illuminate\View\ViewServiceProvider',
'Illuminate\Html\HtmlServiceProvider',
/*
* Application Service Providers...
*/
'App\Providers\AppServiceProvider',
'App\Providers\BusServiceProvider',
'App\Providers\ConfigServiceProvider',
'App\Providers\EventServiceProvider',
'App\Providers\RouteServiceProvider',
],
这就是我的别名在 app.php 中的样子:
'aliases' => [
'App' => 'Illuminate\Support\Facades\App',
'Artisan' => 'Illuminate\Support\Facades\Artisan',
'Auth' => 'Illuminate\Support\Facades\Auth',
'Blade' => 'Illuminate\Support\Facades\Blade',
'Bus' => 'Illuminate\Support\Facades\Bus',
'Cache' => 'Illuminate\Support\Facades\Cache',
'Config' => 'Illuminate\Support\Facades\Config',
'Cookie' => 'Illuminate\Support\Facades\Cookie',
'Crypt' => 'Illuminate\Support\Facades\Crypt',
'DB' => 'Illuminate\Support\Facades\DB',
'Eloquent' => 'Illuminate\Database\Eloquent\Model',
'Event' => 'Illuminate\Support\Facades\Event',
'File' => 'Illuminate\Support\Facades\File',
'Hash' => 'Illuminate\Support\Facades\Hash',
'Input' => 'Illuminate\Support\Facades\Input',
'Inspiring' => 'Illuminate\Foundation\Inspiring',
'Lang' => 'Illuminate\Support\Facades\Lang',
'Log' => 'Illuminate\Support\Facades\Log',
'Mail' => 'Illuminate\Support\Facades\Mail',
'Password' => 'Illuminate\Support\Facades\Password',
'Queue' => 'Illuminate\Support\Facades\Queue',
'Redirect' => 'Illuminate\Support\Facades\Redirect',
'Redis' => 'Illuminate\Support\Facades\Redis',
'Request' => 'Illuminate\Support\Facades\Request',
'Response' => 'Illuminate\Support\Facades\Response',
'Route' => 'Illuminate\Support\Facades\Route',
'Schema' => 'Illuminate\Support\Facades\Schema',
'Session' => 'Illuminate\Support\Facades\Session',
'Storage' => 'Illuminate\Support\Facades\Storage',
'URL' => 'Illuminate\Support\Facades\URL',
'Validator' => 'Illuminate\Support\Facades\Validator',
'View' => 'Illuminate\Support\Facades\View',
'Form' => 'Illuminate\Html\FormFacade',
'Html' => 'Illuminate\Html\HtmlFacade',
],
我已将其添加到我的composer.json中
"require": {
"laravel/framework": "5.0.*",
"illuminate/html": "~5.0"
},
如何解决此错误?
首先将此行添加到 composer.json
"illuminate/html": "~5.0"
然后做一个
composer update
等待更新完成,然后打开 config/app.php 添加以下内容:
'Illuminate\Html\HtmlServiceProvider',
到
providers
数组和这个:
'Form' => 'Illuminate\Html\FormFacade',
'Html' => 'Illuminate\Html\HtmlFacade',
到
aliases
数组,并确保当您在 Blade 中使用 Html 或在小写“Html”而不是 HTML 中使用它时
这里有一个参考链接:http://thegeekyland.blogspot.com/2015/11/class-Illuminatehtmlhtmlserviceprovider.html
Illuminate\Html\HtmlServiceProvider 不再是核心元素。已从核心框架中删除的 Laravel 组件可在 laravelcollective.com 上找到,您的 html 和表单组件可以在这里找到:
http://laravelcollective.com/docs/5.0/html
将其添加到您的composer.json中:
"laravelcollective/html": "~5.0"
然后更新作曲家:
composer update
然后在 config/app.php 中添加提供程序
'Collective\Html\HtmlServiceProvider',
最后在同一个文件中添加两个别名:
'Form' => 'Collective\Html\FormFacade',
'Html' => 'Collective\Html\HtmlFacade',
Illuminate/HTML 包已被弃用
使用:laravelcollective/html
https://stackoverflow.com/a/34991188/3327198
composer require laravelcollective/html
在 config/app.php 中添加此行
在提供商组中:
Collective\Html\HtmlServiceProvider::class,
在别名组中:
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
尝试以下步骤 编辑项目的composer.json 文件。
"require": {
"laravelcollective/html": "~5.0"
}
接下来,从终端更新 Composer:
作曲家更新
接下来,将新的提供商添加到 config/app.php 的提供商数组中:
“提供商”=> [ // ... '集体\Html\HtmlServiceProvider', // ... ],
最后在config/app.php的aliases数组中添加两个类别名:
'aliases' => [
// ...
'Form' => 'Collective\Html\FormFacade',
'Html' => 'Collective\Html\HtmlFacade',
// ...
],
我发现了这个问题的另一个原因:
在../Vendor目录中有时会有一个名为“config.php”的文件,要么完全删除该文件,要么在其中找到类似的东西 这一行:
array (
...
28 => 'Illuminate\Html\HtmlServiceProvider',
...
),
,然后删除该行,然后执行“composer update”命令,这会有所帮助。 (它也帮助了我)。
你也可以这样使用
Illuminate\Html\HtmlServiceProvider::class,
和
'Form' => Illuminate\Html\FormFacade::class,
'Html' => Illuminate\Html\HtmlFacade::class,
该错误表明它无法找到服务提供商,因此请确保您进行了 Composer 更新。 如果您确实进行了作曲家更新,请检查您的供应商文件夹以确保它引入了依赖项。
更新您的作曲家时请仔细检查您是否位于正确的目录中
在cmd中运行它
php artisan Illuminate\Html
然后在app.php中添加变量
要使用 laravel html 助手,您需要在composer.json 文件中添加依赖项并使用命名空间。有关完整过程,请关注我的博客。 http://www.kingpabel.com/laravel-html-helper/