类“Illuminate\Html\HtmlServiceProvider”未找到 Laravel 5

问题描述 投票:0回答:10

我正在尝试使用 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"
},

如何解决此错误?

laravel composer-php laravel-5
10个回答
42
投票

首先将此行添加到 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


30
投票

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',

14
投票

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,

3
投票

尝试以下步骤 编辑项目的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',
// ...

],


1
投票

我发现了这个问题的另一个原因:

在../Vendor目录中有时会有一个名为“config.php”的文件,要么完全删除该文件,要么在其中找到类似的东西 这一行:

array (
  ...
  28 => 'Illuminate\Html\HtmlServiceProvider',
  ...
),

,然后删除该行,然后执行“composer update”命令,这会有所帮助。 (它也帮助了我)。


1
投票

你也可以这样使用

Illuminate\Html\HtmlServiceProvider::class,

'Form'      => Illuminate\Html\FormFacade::class,
'Html'      => Illuminate\Html\HtmlFacade::class,

-1
投票

该错误表明它无法找到服务提供商,因此请确保您进行了 Composer 更新。 如果您确实进行了作曲家更新,请检查您的供应商文件夹以确保它引入了依赖项。


-1
投票

更新您的作曲家时请仔细检查您是否位于正确的目录中


-1
投票

在cmd中运行它

php artisan  Illuminate\Html 

然后在app.php中添加变量


-2
投票

要使用 laravel html 助手,您需要在composer.json 文件中添加依赖项并使用命名空间。有关完整过程,请关注我的博客。 http://www.kingpabel.com/laravel-html-helper/

© www.soinside.com 2019 - 2024. All rights reserved.