مارک پلاس

تکنولوژی نوین اینترنتی

Blade لاراول

دسته‌بندی‌ها

Blade لاراول

 Blade لاراول


فریم‌ورک Laravel برای ساخت رابط کاربری از یک موتور قالب‌ساز قدرتمند به نام Blade استفاده می‌کنه که بسیار ساده، سریع و انعطاف‌پذیر هست.

در ادامه یه راهنمای کامل و حرفه‌ای از Blade برات آماده کردم 👇


🎨 Blade در Laravel — راهنمای کامل


📌 Blade چیست؟

Blade موتور قالب (Template Engine) اختصاصی لاراول هست که به‌طور کامل با ساختار PHP هماهنگ بوده و کدنویسی رابط کاربری رو ساده‌تر، تمیزتر و قابل نگهداری‌تر می‌کنه.


🧰 ساخت فایل‌های Blade

فایل‌های Blade با پسوند .blade.php در مسیر زیر قرار می‌گیرند:

bash
resources/views/

مثال:
resources/views/home.blade.php


🧱 پایه‌ای‌ترین دستورات Blade

1. نمایش متغیر:

blade
{{ $name }}

Blade به‌صورت خودکار از XSS محافظت می‌کنه.


2. شرط‌ها:

blade
@if($user->isAdmin()) <p>مدیر هستید</p> @elseif($user->isEditor()) <p>ویرایشگر هستید</p> @else <p>کاربر معمولی</p> @endif

3. حلقه‌ها:

blade
@foreach($posts as $post) <h2>{{ $post->title }}</h2> @endforeach
blade
@for($i = 0; $i < 5; $i++) <p>آیتم {{ $i }}</p> @endfor

4. نمایش کد PHP خام:

blade
@php $total = $price * $quantity; @endphp

🧩 ساختار Layout در Blade

برای جلوگیری از تکرار کد (مثل هدر و فوتر)، از @extends و @section استفاده می‌کنیم.

💼 فایل اصلی Layout:

resources/views/layouts/app.blade.php

blade
<html> <head> <title>@yield('title')</title> </head> <body> @include('partials.header') <div class="container"> @yield('content') </div> @include('partials.footer') </body> </html>

📄 صفحه فرزند:

blade
@extends('layouts.app') @section('title', 'صفحه اصلی') @section('content') <h1>خوش آمدید</h1> <p>این صفحه اصلی است.</p> @endsection

🧠 سایر دستورات مفید

دستورکاربرد
@include('view')وارد کردن یک بخش از صفحه
@includeIf('view')فقط اگر فایل موجود بود
@each('view', $items, 'item')تکرار ویو برای هر آیتم
@isset($var)بررسی مقداردهی متغیر
@empty($var)بررسی خالی بودن متغیر
@csrfایجاد توکن CSRF
@method('PUT')تغییر متد فرم به PUT, DELETE و ...
@auth / @guestچک کردن ورود کاربر
@error('field')نمایش ارور ولیدیشن برای فیلد خاص

🎯 مزایای Blade

  • بسیار خوانا و تمیز

  • سبک و سریع (تبدیل به کد PHP قبل از اجرا)

  • قابل ترکیب با HTML و PHP

  • پشتیبانی از توابع سفارشی و کامپوننت‌ها


🧪 مثال کامل از یک ویو Blade

blade
@extends('layouts.app') @section('title', 'لیست کاربران') @section('content') <h1>لیست کاربران</h1> @foreach($users as $user) <div>{{ $user->name }} - {{ $user->email }}</div> @endforeach @endsection


محتوای مرتبط

پست‌های مرتبط