Установка скриптов / rel в заголовке тега HTML-макета в шаблоне blade - PullRequest
0 голосов
/ 16 мая 2018

Я запустил новое приложение laravel, и в настоящее время работая над основным шаблоном HTML-шаблона, я столкнулся с проблемой.

Я создал вспомогательный класс, который мог бы установить «версию», чтобы я мог обновлять кеш при появлении новой версии.

namespace App\Http\Helpers;


class HTML
{
    private const VERSION = '20180515';

    private static function setVersion(&$file): void
    {
        $file = $file . '?v=' . self::VERSION;
    }

    public static function style(string $file): string
    {
        self::setVersion($file);

        return '<link rel="stylesheet" type="text/css" href="' . $file . '">';
    }

    public static function script(string $file): string
    {
        self::setVersion($file);

        return '<script src="' . $file . '"></script>';
    }
}

И в макете я использую это:

...    
<head>
...
    {{ \App\Http\Helpers\HTML::style('css/layout.css') }}
</head>

Есть ли способ использовать вспомогательный класс HTML, чтобы мне не приходилось каждый раз вызывать пространства имен?

1 Ответ

0 голосов
/ 16 мая 2018

Включить в config/app.php

...

'aliases' => [
    ....
    'HTML' => \App\Http\Helpers\HTML::class,
 ],

HTML - это общее слово, и у вас могут возникнуть некоторые проблемы.Если у вас есть, используйте другой ключ.

В любом случае, вы можете затем использовать

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

Также, если у вас есть какие-либо проблемы, запустите

php artisan config:clear
...