Команды для шаблона

Функция

Функции создаются внутри файла app/Providers/AppServiceProvider.php.

На примере ниже создаётся функция @upper().

# app/Providers/AppServiceProvider.php

namespace App\Providers;

use Illuminate\Support\Facades\Blade;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{

    public function boot()
    {
        // создание функции @upper
        Blade::directive('upper', function($var) {
            return '<?php echo mb_strtoupper('.$var.'); ?>';
        });
    }

    // …

}

Теперь в шаблонах можно выполнять @upper().

@upper('Laravel') <!-- LARAVEL -->

Данные для @upper() кешируются, поэтому после правок рекомендуется удалять кеш в папке «storage/framework/views/».

Условия

Пример создания условия @day().

# app/Providers/AppServiceProvider.php

namespace App\Providers;

use Illuminate\Support\Facades\Blade;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{

    public function boot()
    {
        // создание условия @day
        Blade::if('day', function($var) {
            return $var == date('l', time());
        });
    }

    // …

}

Теперь в шаблонах можно выполнять @day().

@day('Monday')
    <p>Сегодня понедельник</p>
@elseday('Saturday')
    <p>Сегодня суббота</p>
@endday