 
ショコラ
Laravel blade の if文について
if文 を自作して、ブレードで使うこともできます。
 
もっさん先輩
① @if文
@if ({条件})@elseif ({条件})@else@endif② @unless文(unless は ifの逆)
@unless ({条件})@else@endunless ③ @isset文
@isset (変数)@else@endisset④ @empty文
@empty (変数)@else@endempty⑤ if文 を自作する。
app/Providers に BladeServiceProvider クラスを作成します。
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Blade;
class BladeServiceProvider extends ServiceProvider
{
    /**
     * Register services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
    /**
     * Bootstrap services.
     *
     * @return void
     */
    public function boot()
    {
      Blade::if('in',fn(mixed $needle, array|string $haystack, bool $strict = false)
        => in_array($needle,\API::explode($haystack),$strict));
      Blade::if('not_in',fn(mixed $needle, array|string $haystack, bool $strict = false)
        =>!in_array($needle,\API::explode($haystack),$strict));
      Blade::if('route',fn(...$route)
        => in_array(\Route::currentRouteName(),$route));
      Blade::if('count',fn(mixed $var, $min = 1)
        => is_countable($var) && ($min <= count($var)));
      Blade::if('len',fn(mixed $var, $min = 1)
        => is_string($var) && ($min <= strlen($var)));
      Blade::if('flash',fn(string $key)
        => session()->has($key));
      Blade::if('debug',fn()
        => env('APP_DEBUG'));
    }
}config/app.php の providers に BladeServiceProvider を追加します。
App\Providers\BladeServiceProvider::class,たったこれだけで、追加した if文 がブレードで使えるようになります。
@route ('index')
@endroute
@count ($arr)
@endcount
@len ($str)
@endlen
@flash ('message')
  {{ flash('message') }}
@endflash以上
