Laravel 5 Класс "HTML" не найден
Я пытаюсь использовать Laravel 5, но мой {{ HTML::style('style.css') }}
больше не работает.
Я обновил composer.json, чтобы включить "illuminate/html": "5.*"
под require. Я добавил 'Illuminate\Html\HtmlServiceProvider'
в массив моих поставщиков под app.php, и я добавил
'Form'=> 'Illuminate\Html\FormFacade',
'HTML'=> 'Illuminate\Html\HtmlFacade'
. Затем я запустил composer update
Я перезапустил WAMP, чтобы убедиться, и он все еще не работает. Я также пытался использовать {!! HTML::style('style.css') !!}
, который тоже не работал. Что еще мне нужно сделать, чтобы вернуть это?
Ответы
Ответ 1
Любой, кто использует laravel 5. *, должен использовать laravelcollective/html
, потому что Package illuminate/html
заброшен, вам следует избегать его использования.
ваш файл composer.json
должен содержать следующий код в разделе require (поскольку я использую laravel 5.2, это будет указано как 5.2)
"laravelcollective/html": "5.2.*"
запустить composer update
и ваш config/app.php
должен содержать следующий код в массиве поставщиков
'providers' => [
Collective\Html\HtmlServiceProvider::class,
]
и псевдонимы должны содержать
'aliases' => [
'Form' => Collective\Html\FormFacade::class,
'HTML' => Collective\Html\HtmlFacade::class,
]
и обратите внимание, что любой псевдоним, который вы упомянули, должен появиться в вашем коде как
{{HTML::linkAction('[email protected]', 'view', array($value->id))}}
Ответ 2
'HTML' = > 'Illuminate\Html\HtmlFacade'
должен быть
'Html' = > 'Illuminate\Html\HtmlFacade'
Ответ 3
{!! Html::style( asset('public/css/artist.css')) !!}
... работал у меня, но это
{{ HTML::style( asset('css/artist.css')) }}
... не работал. Но это должно сработать. Нет!
Ларавель меня сбивает с толку изо дня в день. Я пытаюсь это узнать... Нехорошо: D
Ответ 4
Я думаю, что это проблема, чувствительная к регистру.
Если вы зарегистрируете его как 'HTML'=> 'Illuminate\Html\HtmlFacade'
в app.php, вы не сможете использовать его как html или Html (тогда он будет работать только при использовании HTML).
Ответ 5
-
Добавить в композитор .json:
a) "illuminate/html": "5. *"
b) Команда запуска: - обновление композитора
-
Добавить в массив поставщиков app.php:
a) 'Illuminate\Html\HtmlServiceProvider',
-
Добавить в массив алиасов app.php:
a) 'Html' = > 'Illuminate\Html\HtmlFacade',
б) 'Форма' = > 'Illuminate\Html\FormFacade',
-
Готово
Ответ 6
1 следует
https://laravelcollective.com/docs/5.3/html
Начните с установки этого пакета через Composer. Выполните следующее из терминала:
composer require "laravelcollective/html":"^5.3.0"
Next, add your new provider to the providers array of config/app.php:
'providers' => [
// ...
Collective\Html\HtmlServiceProvider::class,
// ...
],
Наконец, добавьте две псевдонимы классов в массив псевдонимов config/app.php:
'aliases' => [
// ...
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
// ...
],
Теперь, если вы хотите
{{HTML:: style ('css/bootstrap.min.css')}}
или
{!! HTML:: style ('css/bootstrap.min.css')!!}
//Далее следуют два пути.
{{ HTML::style('css/bootstrap.min.css') }}
//change to
{{ Html::style('css/bootstrap.min.css') }}
или
'aliases' => [
// ...
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
// ...
],
//change to
'aliases' => [
// ...
'Form' => Collective\Html\FormFacade::class,
'HTML' => Collective\Html\HtmlFacade::class,
// ...
],
Подробнее см. в этом видеоуроке.....
https://www.youtube.com/watch?v=yl6hkoaCS6g
Ответ 7
В Laravel 5 "illuminate/html": "5. *" устарел и заменен новой зависимостью "laravelcollective/html": "~ 5.0"
Начните с установки этого пакета через Composer. Измените файл проекта composer.json, чтобы потребовать "laravelcollective/html"
В вашем обновлении файла composer.json выполните следующее:
"require": {
"laravelcollective/html": "~5.0"
}
Затем обновите Composer из терминала:
composer update
Затем добавьте нового поставщика в массив поставщиков config/app.php:
'providers' => [
// ...
'Collective\Html\HtmlServiceProvider',
// ...
],
Наконец, добавьте две псевдонимы классов в массив псевдонимов config/app.php:
'aliases' => [
// ...
'Form' => 'Collective\Html\FormFacade',
'Html' => 'Collective\Html\HtmlFacade',
// ...
],
Вы также можете проверить его здесь для Laravel 5
https://laravelcollective.com/docs/5.0/html
Ответ 8
Если вы не должны использовать HTML-фасад, сделайте это для простоты:
<link rel="stylesheet" href="{!! asset('style.css') !!}">
Ответ 9
Для тех, кто хочет настроить Laravel 5 с помощью макросов:
-
composer require laravelcollective/html
- В
/config/app.php
, под "providers"
: App\Providers\MacroServiceProvider::class
-
Создайте MacroServiceProvider.php
под /app/Providers
:
namespace App\Providers;
использовать Illuminate\Support\ServiceProvider;
класс MacroServiceProvider расширяет ServiceProvider {
public function boot()
{
foreach (glob(base_path("resources/macros/*.macro.php")) as $filename) {
require_once($filename);
}
}
public function register()
{
//
}
}
-
Добавьте макросы в папку /resources/macros
в формате *.macro.php
. Обратите внимание на необходимый $this->toHtmlString
, чтобы избежать строки:
Html:: macro ( "something", function() { return $this- > toHtmlString ( "
Привет там
" );
});
-
Используйте макросы в шаблонах, как описано здесь.
Ответ 10
Следуйте этой документации, как ее исправить:
https://laravelcollective.com/docs/5.4/html
Для каждой версии вы изменяете номер версии для доступа к соответствующему документу, например
https://laravelcollective.com/docs/5.x/html
x - версия
Ответ 11
записи app.php должны быть:
'providers' => [
// ...
Collective\Html\HtmlServiceProvider::class,
// ...
],
'aliases' => [
// ...
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
// ...
],
Ответ 12
Я сделал то же самое, что и вы: добавил laravelcollective в моем композиторе, обновил композитор, добавил их в своих провайдерах и псевдонимах, но код ниже не работал:
{{ HTML::image('img/picture.jpg') }}
Однако у меня это работает для меня
{{ HTML::image('img/picture.jpg') }}
Я думаю, это связано с тем, что эта проблема чувствительна к регистру и что класс HTML vs class Html рассматривается как совершенно отличный друг от друга эта версия laravel.
Ответ 13
'providers' => [
Collective\Html\HtmlServiceProvider::class,
]
'aliases' => [
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
]