Laravel 5 и Освещение / HTML
Я пытаюсь использовать {{ HTML }}
в моем проекте, однако, я сталкиваюсь с несколькими ошибками. Я исследовал в интернете эту проблему и считаю, что делаю правильные шаги, однако я продолжаю сталкиваться с одной и той же ошибкой, когда пытаюсь загрузить свою главную страницу.
FatalErrorException в... строке 9: класс 'HTML' не найден
Итак, что я сделал:
Отредактировано
composer.json
файл и добавил"illuminate/html": "5.*"
подrequire {}
Бежать
composer update
(все вроде нормально)Добавлено:
providers => 'Illuminate\Html\HtmlServiceProvider',
так же как`aliasses => 'Form' => 'Illuminate\Html\FormFacade', 'Html' => 'Illuminate\Html\HtmlFacade',
(Несмотря на то, что те, которые уже размещены под псевдонимами и поставщиками, выглядят следующим образом, кажется, что те, которые я добавил, выглядят совершенно иначе, чем остальные:
Illuminate\Validation\ValidationServiceProvider::class,
Illuminate\View\ViewServiceProvider::class,
'Illuminate\Html\HtmlServiceProvider', // The one I added
'URL' => Illuminate\Support\Facades\URL::class,
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
'Form' => 'Illuminate\Html\FormFacade', // I added
'Html' => 'Illuminate\Html\HtmlFacade', // I added
И вот версия моего фрагмента master.blade.php
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset = "UTF-8">
<title></title>
{{ HTML::script('js/jquery.js') }} // Line 9
{{ HTML::script('js/bootstrap.js') }} // Line 10
{{ HTML::style('css/bootstrap.js') }} // Line 11
</head>
Я получаю ошибку:
FatalErrorException в ### строке 9: класс 'HTML' не найден в
/Applications/MAMP/htdocs/laratest/storage/framework/views/### строка 9
Я получил пользу от нескольких учебных пособий, таких как этот на YouTube и Laracast. Я также нашел вопрос с тегом Solved, который решает ту же проблему, но не решает проблему в моем случае.
Редактировать: также меняется на {!! HTML !!}
тоже не работает
5 ответов
Пакет Illuminate/HTML устарел
Использование:laravelcollective/html
composer require laravelcollective/html
Добавьте эти строки в config/app.php
в группе провайдеров:
Collective\Html\HtmlServiceProvider::class,
в группе псевдонимов:
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
Сначала фасады не правильные.
'Form' => 'Illuminate\Html\FormFacade', // FormFacade not HtmlFacade
'Html' => 'Illuminate\Html\HtmlFacade',
Фасад Html
не HTML
,
<!-- This won't work -->
{!! HTML::script('js/jquery.js') !!}
<!-- This should work -->
{!! Html::script('js/jquery.js') !!}
Или вы можете изменить ключ фасада на HTML
и тогда вы можете использовать HTML::script(...)
,
'HTML' => 'Illuminate\Html\HtmlFacade'
Попробуй это:
{!! HTML !!}
и не забыл composer dumpautoload
,
Видите, если это поможет.
При переходе на 5.1 я обнаружил ту же проблему - похоже, класс HTML больше не поддерживает методы script и style.
Вместо этого используйте:
{{ URL::asset('yourassetpath') }}
Вы используете два разных псевдонима для одного фасада. правильные фасады
'Form' => Illuminate\Support\Facades\Facade\FormFacade::class,
'Html' => Illuminate\Support\Facades\Facade\HtmlFacade::class,
это должно работать
ps, начиная с laravel 5.1, вы должны использовать фасад Name::class