Подтвердить что ты не робот

Laravel 5.1: класс html не существует

Я обновляюсь с 4.2 непосредственно до 5.1 и сталкиваюсь с проблемами с классами Html и Form.

Я следил за обновлениями и делал

  • добавить "laravelcollective/html": "~ 5.0" в composer.json
  • обновление композитора
  • добавить коллективный \Html\HtmlServiceProvider:: класс для поставщиков в app.php
  • добавить форму '= > коллективный \Html\FormFacade:: класс, Html '= > Коллективный \Html\HtmlFacade:: класс для псевдонимов в app.php

Но мои взгляды не работают. Я получаю либо Class HTML does not exist при использовании HTML:: router или get 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

Что мне не хватает?


Я попробовал все ответы, и никто из них не работал у меня по какой-то причине. В конечном итоге я создал совершенно новое приложение для laravel, скопировал свой код, а затем начал работать, поэтому, хотя проблема решена, проблема остается загадкой.

4b9b3361

Ответ 1

Моя проблема решена, но фактическая причина пока неизвестна. Я создал совершенно новую установку laravel и скопировал мой источник (все это). Новое приложение сразу работало (после установки подсветки /html ).

Итак, вы думаете, что я сделал что-то не так с пакетами? Это то, что я думал, а затем я сделал разницу по двум каталогам, только чтобы узнать, что они были одинаковыми. Так что это настоящая загадка.

Итак, теперь все работает, я просто переименовал свое новое приложение и могу продолжить.

Я знаю, что в какой-то момент у меня, вероятно, были установлены как коллективные, так и освещаемые версии пакета HTML. Это, скорее всего, все испортило.

Ответ 2

Добавить в composer.json

 "illuminate/html": "5.*"

и запустите обновление композитора

Откройте файл config/app.php

добавить под "провайдеры"

Illuminate\Html\HtmlServiceProvider::class,

добавить под "псевдонимы"

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

и под вашими шаблонами клинков, используйте как таковые

{!! HTML::style('assets/css/flatten.css') !!}

Ответ 3

Мое решение в моем случае было проблемой с именем класса CASE-Sensitive.

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

Я пытаюсь использовать в виду этот код:

{!! HTML::mailto('mailto:[email protected]', '[email protected]'); !!}

и это было ошибкой:

"FatalErrorException in ccf70b1d0b9930d6c4e8f3859fff448f line 11: Class 'HTML' not found"

Название класса "HTML" CASE-Sensitive. Вы должны использовать "Html", как в вашем файле config (config/app.php).

Надеюсь, что эта помощь для некоторых людей.

Ответ 4

Измените файл клинка на этом

{{ HTML::style('css/bootstrap.min.css') }}

to

{{ HTML::style('css/bootstrap.min.css') }}

Работает.

Ответ 5

Простой перезапуск после обновления композитора отлично работал у меня. Я искал ответ и застрял в том же положении. Я бы предложил, запустите config: cache и cache: очистите и перезапустите среду IDE. Он будет работать.

Ответ 6

это правильный путь Если вы попытаетесь использовать Form:: open() или любой из методов Form в новой установке Laravel 5, вы получите что-то вроде этого: http://laraveldaily.com/class-form-not-found-in-laravel-5/

Ответ 7

Я думаю, что нашел решение.

В app.php вы объявили

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

Пока в View вы вызываете тот же класс, что и

{!! HTML::style('css/bootstrap.min.css') !!}

В пакетах нет ничего плохого, как отмеченный ответ выше, а скорее разница в капитализации слова HTML как предыдущая документация версии 5.0. *.

Это должно быть

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

Ответ 8

Попробуйте

php artisan cache: clear

php artisan clear-compiled

Ответ 9

изменить config/app.php

добавьте это в поставщиков

Collective\Html\HtmlServiceProvider::class,

и это в псевдонимы

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