Laravel 5.1:类html不存在

Mic*_*onk 11 html php upgrade exception laravel

我正在从4.2直接升级到5.1并遇到Html和Form类的问题.

我按照升级说明,做了

  • 将"laravelcollective/html":"~5.0"添加到composer.json
  • 作曲家更新
  • 将Collective\Html\HtmlServiceProvider :: class添加到app.php中的提供程序
  • 将表单'=> Collective\Html\FormFacade :: class,Html'=> Collective\Html\HtmlFacade :: class添加到app.php中的别名

但我的观点不起作用.我Class HTML does not exist在使用HTML :: router Class html does not exist时使用或在使用link_to_route时获取

我也试过Illuminate\html而不是laravelcollective,我做了一个composer dump-autoload.

完整的错误:

ErrorException in Container.php line 736: Class html does not exist (View: C:\Dev\www\admin\resources\views\clubs\index.blade.php)
ReflectionException in Container.php line 736: Class html does not exist
Run Code Online (Sandbox Code Playgroud)

我错过了什么?


我尝试了每个人的答案,但由于某些原因,他们都没有为我工作.最终我创建了一个全新的laravel应用程序,复制了我的代码然后它开始工作,所以虽然解决了实际问题仍然是一个谜.

ani*_*lik 16

添加composer.json

 "illuminate/html": "5.*"
Run Code Online (Sandbox Code Playgroud)

并运行composer update

打开config/app.php

在"提供者"下添加

Illuminate\Html\HtmlServiceProvider::class,
Run Code Online (Sandbox Code Playgroud)

添加'别名'

'Form'      => Illuminate\Html\FormFacade::class,
'Html'      => Illuminate\Html\HtmlFacade::class,
Run Code Online (Sandbox Code Playgroud)

在您的刀片模板下,使用

{!! HTML::style('assets/css/flatten.css') !!}
Run Code Online (Sandbox Code Playgroud)

  • 在laravel 5.1中,你所有的解释都是正确的,但在视图中,`HTML :: style`是未定义的.但是`Html :: style`起作用了.谢谢. (2认同)

Yur*_*tun 10

在我的情况下,我的解决方案是CASE-Sensitive类名称的问题.

In my config/app.php (in aliases)
'Form'      => Collective\Html\FormFacade::class,
'Html'      => Collective\Html\HtmlFacade::class,
Run Code Online (Sandbox Code Playgroud)

我试图在查看此代码时使用:

{!! HTML::mailto('mailto:example@example.com', 'example@example.com'); !!}
Run Code Online (Sandbox Code Playgroud)

这是一个错误:

"FatalErrorException in ccf70b1d0b9930d6c4e8f3859fff448f line 11: Class 'HTML' not found"
Run Code Online (Sandbox Code Playgroud)

类'HTML'的名称是CASE-Sensitive.您应该在config(app/app.php)文件中使用'Html'.

希望对某些人有所帮助.


Mic*_*onk 1

我的问题解决了,但实际原因仍然未知。我创建了一个全新的 laravel 安装并复制了我的源代码(全部)。新的应用程序立即运行(安装照亮/html 后)。

所以你认为我对包裹做错了什么?这就是我的想法,然后我对这两个目录进行了比较,结果发现它们是相同的。所以这确实是一个谜。

所以,现在一切正常,我只需重命名我的新应用程序即可继续。

我确实知道在某些时候我可能同时安装了 HTML 包的集合版本和照明版本。这很可能破坏了一切。