Почему Laravel 6 не работает с классом Html

Прежде чем любой из вас, модераторы, пометит это как дубликат, я призываю вас принять во внимание тот факт, что я просмотрел SO и google для конкретных тем Laravel 6, касающихся моей проблемы, и нашел только ОДНУ вещь, относящуюся к 6. Если кто-то может помочь решить эту проблему , Я уверен, что это поможет тоннам разработчиков Laravel. Так что, пожалуйста, помните об этом обстоятельстве не только ради меня, но и ради сообщества?

Когда я пытаюсь загрузить свою страницу, которая использует рассматриваемый класс HTML, используя:

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

для моих файлов css и соответствующего вызова HTML :: script для моих файлов js, и все, что я продолжаю получать, это;

Class 'HTML' not found (View: /Users/pshore/PhpstormProjects/upeeps/resources/views/subpages/header.blade.php)

Прежде всего, я уже посетил этот пост SO, и;

​​Это не решило мою проблему

Итак, теперь я предоставляю свое содержимое composer.json, содержимое config / app.php в надежде, что кто-то увидит ошибку в моей конфигурации, которая вызывает это.

Я перепробовал все, от понижения уровня моего laravel до 5.8.35 до множества вещей, найденных здесь и в Google для Laravel 5, но для Laravel 6 почти ничего не существует в отношении этой проблемы. Итак, я зашел в тупик и больше не могу придумать, что делать дальше, кроме как разместить здесь.

composer.json

{
  "name": "laravel/laravel",
  "type": "project",
  "description": "The Laravel Framework.",
  "keywords": [
    "framework",
    "laravel"
  ],
  "license": "MIT",
  "require": {
    "php": "^7.2",
    "fideloper/proxy": "^4.0",
    "laravel/framework": "^6.0",
    "laravel/tinker": "^1.0",
    "laravelcollective/html": "^6.0"
  },
  "require-dev": {
    "facade/ignition": "^1.4",
    "fzaninotto/faker": "^1.4",
    "mockery/mockery": "^1.0",
    "nunomaduro/collision": "^3.0",
    "phpunit/phpunit": "^8.0"
  },
  "config": {
    "optimize-autoloader": true,
    "preferred-install": "dist",
    "sort-packages": true
  },
  "extra": {
    "laravel": {
      "dont-discover": []
    }
  },
  "autoload": {
    "psr-4": {
    "App\\": "app/"
  },
    "classmap": [
      "database/seeds",
      "database/factories"
    ]
  },
  "autoload-dev": {
    "psr-4": {
      "Tests\\": "tests/"
    }
  },
  "minimum-stability": "dev",
  "prefer-stable": true,
  "scripts": {
    "post-autoload-dump": [
      "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
      "@php artisan package:discover --ansi"
    ],
    "post-root-package-install": [
      "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
      "@php artisan key:generate --ansi"
    ]
  }
}

config / app.php

'providers' => [

    /*
     * Laravel Framework Service Providers...
     */
    Illuminate\Auth\AuthServiceProvider::class,
    Illuminate\Broadcasting\BroadcastServiceProvider::class,
    Illuminate\Bus\BusServiceProvider::class,
    Illuminate\Cache\CacheServiceProvider::class,
    Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
    Illuminate\Cookie\CookieServiceProvider::class,
    Illuminate\Database\DatabaseServiceProvider::class,
    Illuminate\Encryption\EncryptionServiceProvider::class,
    Illuminate\Filesystem\FilesystemServiceProvider::class,
    Illuminate\Foundation\Providers\FoundationServiceProvider::class,
    Illuminate\Hashing\HashServiceProvider::class,
    Illuminate\Mail\MailServiceProvider::class,
    Illuminate\Notifications\NotificationServiceProvider::class,
    Illuminate\Pagination\PaginationServiceProvider::class,
    Illuminate\Pipeline\PipelineServiceProvider::class,
    Illuminate\Queue\QueueServiceProvider::class,
    Illuminate\Redis\RedisServiceProvider::class,
    Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
    Illuminate\Session\SessionServiceProvider::class,
    Illuminate\Translation\TranslationServiceProvider::class,
    Illuminate\Validation\ValidationServiceProvider::class,
    Illuminate\View\ViewServiceProvider::class,

    Collective\Html\HtmlServiceProvider::class,

    /*
     * Package Service Providers...
     */

    /*
     * Application Service Providers...
     */
    App\Providers\AppServiceProvider::class,
    App\Providers\AuthServiceProvider::class,
    // App\Providers\BroadcastServiceProvider::class,
    App\Providers\EventServiceProvider::class,
    App\Providers\RouteServiceProvider::class,

],

'aliases' => [

    'App' => Illuminate\Support\Facades\App::class,
    'Arr' => Illuminate\Support\Arr::class,
    'Artisan' => Illuminate\Support\Facades\Artisan::class,
    'Auth' => Illuminate\Support\Facades\Auth::class,
    'Blade' => Illuminate\Support\Facades\Blade::class,
    'Broadcast' => Illuminate\Support\Facades\Broadcast::class,
    'Bus' => Illuminate\Support\Facades\Bus::class,
    'Cache' => Illuminate\Support\Facades\Cache::class,
    'Config' => Illuminate\Support\Facades\Config::class,
    'Cookie' => Illuminate\Support\Facades\Cookie::class,
    'Crypt' => Illuminate\Support\Facades\Crypt::class,
    'DB' => Illuminate\Support\Facades\DB::class,
    'Eloquent' => Illuminate\Database\Eloquent\Model::class,
    'Event' => Illuminate\Support\Facades\Event::class,
    'File' => Illuminate\Support\Facades\File::class,
    'Gate' => Illuminate\Support\Facades\Gate::class,
    'Hash' => Illuminate\Support\Facades\Hash::class,
    'Lang' => Illuminate\Support\Facades\Lang::class,
    'Log' => Illuminate\Support\Facades\Log::class,
    'Mail' => Illuminate\Support\Facades\Mail::class,
    'Notification' => Illuminate\Support\Facades\Notification::class,
    'Password' => Illuminate\Support\Facades\Password::class,
    'Queue' => Illuminate\Support\Facades\Queue::class,
    'Redirect' => Illuminate\Support\Facades\Redirect::class,
    'Redis' => Illuminate\Support\Facades\Redis::class,
    'Request' => Illuminate\Support\Facades\Request::class,
    'Response' => Illuminate\Support\Facades\Response::class,
    'Route' => Illuminate\Support\Facades\Route::class,
    'Schema' => Illuminate\Support\Facades\Schema::class,
    'Session' => Illuminate\Support\Facades\Session::class,
    'Storage' => Illuminate\Support\Facades\Storage::class,
    'Str' => Illuminate\Support\Str::class,
    'URL' => Illuminate\Support\Facades\URL::class,
    'Validator' => Illuminate\Support\Facades\Validator::class,
    'View' => Illuminate\Support\Facades\View::class,

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

person Skittles    schedule 04.10.2019    source источник
comment
Вы обязательно выполнили composer install после обновления composer.json? (Я так полагаю, но надо проверить). И это может помочь, а может и не помочь, но запуск composer dump-autoload после. Наконец, работает ли он с \HTM::style()? Молодец, что показали, что тоже провели исследование :)   -  person Tim Lewis    schedule 04.10.2019
comment
Убедитесь, что конфигурация в данный момент не кеширована, php artisan config:clear, на всякий случай. Также Html или HTML, приятно делать вид, что дело имеет значение, чтобы сохранить последовательность.   -  person lagbox    schedule 04.10.2019
comment
Я сделал это и config: clear и даже view: clear & view: cache вместе с clear-compiled. Все это не работает. @TimLewis - Да, я тоже это делал. Кстати, спасибо за это предложение.   -  person Skittles    schedule 04.10.2019
comment
@TimLewis _ Нет, обратная косая черта тоже не работает. Я действительно надеялся на это, так как еще не пробовал.   -  person Skittles    schedule 04.10.2019
comment
@lagbox - Ты серьезно спаситель! Это было абсолютно верно в случае HTML. Пожалуйста, опубликуйте ответ, чтобы я мог принять его и проголосовать за него ?! Это будет так ценно для других! Спасибо большое!   -  person Skittles    schedule 04.10.2019
comment
Крысы; надеялся, что это сработает. Из любопытства удалили HTML в v6.0? Я просматриваю документацию laravelcollective.com/docs/6.0/html, и я не не вижу никаких экземпляров HTML::. Я также не вижу никаких заметок о включении ServiceProvider и Alias, но это обычно стандартная практика для пакетов Laravel. Выполните любой из методов из laravelcollective.com/docs/6.0/html#generating-urls работать? Например, link_to_asset()? Изменить Только что видел комментарий о чувствительности к регистру; звучит так :)   -  person Tim Lewis    schedule 04.10.2019
comment
@TimLewis - Я склонен согласиться с тем, что он отсутствует намеренно, но если это так, то наблюдатели Laravel действительно должны предоставлять гораздо лучшие указания в своих документах или, по крайней мере, в записи журнала изменений.   -  person Skittles    schedule 04.10.2019
comment
Ха-ха, согласен. Я редко использовал синтаксис Form, даже когда он был включен в Laravel по умолчанию, предпочел контроль написания HTML. Но несмотря ни на что; рад, что у вас это работает.   -  person Tim Lewis    schedule 04.10.2019


Ответы (1)


Вероятно, вы захотите использовать для этого точное имя класса с псевдонимом (с учетом регистра) Html в зависимости от вашей конфигурации:

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

// would become

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

Сам пакет использует функцию автоматического обнаружения, поэтому вам не нужно включать поставщика услуг или псевдонимы самостоятельно. Он назначит вам псевдонимы HtmlBuilder на Html и FormBuilder на Form.

person lagbox    schedule 04.10.2019
comment
Как я могу в будущем рассказать об автоопределении вещей? Это что-то, что считается нормой в каком-то выпуске вперед? Опять же ... Ооочень большое спасибо! - person Skittles; 04.10.2019
comment
Laravel устанавливает некоторые команды для запуска после того, как composer выполняет дамп автозагрузки, поэтому вы должны увидеть что-то вроде @php artisan package:discover --ansi в командной строке, а затем он перечислит пакеты, которые он смог обнаружить. Я думаю, что в большинстве пакетов следует упомянуть, что они используют эту функцию. Если нет, вы можете проверить composer.json файл пакета и найти конкретный раздел с именем extra, а затем laravel под ним. Также этот материал отображается в bootstrap/cache/packages.php после выполнения этой команды. - person lagbox; 04.10.2019
comment
Это отличное знание, которое можно добавить к моему опыту работы с laravel. Я полностью ценю вашу помощь. - person Skittles; 06.10.2019