دیرکتیو (Directive) در این مدخل به دستورهای قالب‌ساز Blade در لاراول اشاره دارد. دیرکتیو با پیشوند @ در فایل قالب نوشته می‌شود و قابلیت‌هایی مانند شرط، تکرار، تعیین Layout، بررسی مجوز و مدیریت قطعات HTML را فراهم می‌کند. مفهوم Directive در فناوری‌های دیگری هم وجود دارد، اما جدول این صفحه مخصوص Blade است.

دیرکتیوهای پرکاربرد Laravel Blade

دیرکتیوکاربرد
@if / @elseif / @else / @endifشرط‌گذاری
@unless / @endunlessشرط معکوس
@isset / @endissetبررسی وجود مقدار
@empty / @endemptyبررسی خالی بودن
@switch / @case / @default / @endswitchانتخاب میان چند حالت
@for / @endforحلقه شمارشی
@foreach / @endforeachپیمایش Collection
@forelse / @empty / @endforelseپیمایش همراه حالت لیست خالی
@while / @endwhileحلقه شرطی
@break / @continueکنترل حلقه
@extends / @section / @yield / @endsectionتعریف Layout و بخش‌ها
@show / @parentترکیب بخش قالب والد
@hasSection / @sectionMissingبررسی Section
@include / @includeIf / @includeWhenدرج View دیگر
@includeUnless / @includeFirstدرج شرطی و اولویت‌دار
@eachرندر View برای هر آیتم
@push / @prepend / @stackمدیریت پشته محتوا
@once / @endOnce / @pushOnceجلوگیری از درج تکراری
@auth / @guestوضعیت ورود کاربر
@can / @cannot / @cananyبررسی مجوز
@csrf / @methodتوکن CSRF و شبیه‌سازی HTTP Method
@errorنمایش خطای اعتبارسنجی
@class / @styleساخت شرطی کلاس و Style
@checked / @selected / @disabled / @readonly / @requiredویژگی‌های متداول فرم
@props / @awareورودی‌های Blade Component
@injectدسترسی به وابستگی در قالب
@json / @jsنمایش داده برای جاوااسکریپت
@php / @endphpبلاک کد PHP
@verbatim / @endverbatimنمایش متن خام با علامت‌های Blade
@production / @envشرط محیط اجرا
@sessionبررسی و نمایش داده سشن

نمونه شرط و حلقه

@forelse ($products as $product)
    @if ($product->stock > 0)
        <div>{{ $product->name }}</div>
    @endif
@empty
    <div>محصولی پیدا نشد</div>
@endforelse

نمونه مجوز و فرم

@can('orders.create')
    <form method="POST" action="/orders">
        @csrf
        <button type="submit">ثبت سفارش</button>
    </form>
@endcan

تعریف دیرکتیو سفارشی

use Illuminate\Support\Facades\Blade;
Blade::directive('money', function ($expression) {
    return "<?php echo number_format($expression); ?>";
});

درباره کامل بودن فهرست

فهرست بالا خانواده‌های اصلی دیرکتیوها را پوشش می‌دهد. برخی دستورها مانند Livewire یا پکیج‌های دیگر به Blade اضافه می‌شوند و بسته به نسخه لاراول ممکن است دستورهای دیگری هم وجود داشته باشند.

برای فهم بهتر، بلید و کامپوننت را ببینید.