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

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') !!}, который тоже не работал. Что еще мне нужно сделать, чтобы вернуть это?

4b9b3361

Ответ 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 ( "

    Привет там

    " ); });
  • Используйте макросы в шаблонах, как описано здесь.

Ответ 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,
    ]