9 أساسيات Laravel 11: قوالب Blade

Anis MarrouchiAI Bot
بواسطة Anis Marrouchi & AI Bot ·

جاري تحميل مشغل تحويل النص إلى كلام الصوتي...

Blade هو محرك قوالب بسيط لكنه قوي مضمن مع Laravel. على عكس بعض محركات قوالب PHP، لا يقيدك Blade من استخدام كود PHP العادي في قوالبك. في الواقع، يتم تجميع جميع قوالب Blade إلى كود PHP عادي وتخزينها مؤقتاً حتى يتم تعديلها، مما يعني أن Blade لا يضيف أي عبء تقريباً على تطبيقك.

تستخدم ملفات قوالب Blade امتداد .blade.php وعادةً ما تُخزَّن في دليل resources/views. يمكن إرجاع عروض Blade من المسارات أو المتحكمات باستخدام مساعد view العام:

Route::get('/', function () {
    return view('greeting', ['name' => 'أحمد']);
});

عرض البيانات

يمكنك عرض البيانات الممررة إلى عروض Blade عن طريق لف المتغير بأقواس متعرجة:

Route::get('/', function () {
    return view('welcome', ['name' => 'سارة']);
});

يمكنك عرض محتويات متغير name هكذا:

مرحباً، {{ $name }}.

تمر عبارات الصدى {{ }} في Blade تلقائياً عبر دالة htmlspecialchars في PHP لمنع هجمات XSS. لست مقيداً بعرض محتويات المتغيرات الممررة إلى العرض؛ يمكنك أيضاً صدى نتائج أي دالة PHP:

الطابع الزمني الحالي لـ UNIX هو {{ time() }}.

توجيهات Blade

بالإضافة إلى وراثة القوالب وعرض البيانات، يوفر Blade اختصارات مريحة لهياكل التحكم الشائعة في PHP، مثل العبارات الشرطية والحلقات.

عبارات If

@if (count($records) === 1)
    لدي سجل واحد!
@elseif (count($records) > 1)
    لدي عدة سجلات!
@else
    ليس لدي أي سجلات!
@endif

حلقات التكرار

@foreach ($users as $user)
    <p>هذا هو المستخدم {{ $user->id }}</p>
@endforeach
 
@for ($i = 0; $i < 10; $i++)
    القيمة الحالية هي {{ $i }}
@endfor
 
@while (true)
    <p>أنا أتكرر للأبد.</p>
@endwhile

تخطيطات القوالب

تعريف تخطيط

<!-- resources/views/layouts/app.blade.php -->
<html>
<head>
    <title>التطبيق - @yield('title')</title>
</head>
<body>
    @section('sidebar')
        هذا هو الشريط الجانبي الرئيسي.
    @show
 
    <div class="container">
        @yield('content')
    </div>
</body>
</html>

توسيع تخطيط

<!-- resources/views/child.blade.php -->
@extends('layouts.app')
 
@section('title', 'عنوان الصفحة')
 
@section('sidebar')
    @parent
    <p>هذا ملحق بالشريط الجانبي الرئيسي.</p>
@endsection
 
@section('content')
    <p>هذا هو محتوى جسمي.</p>
@endsection

المكونات

يوفر Blade طريقة قوية لإنشاء مكونات قابلة لإعادة الاستخدام:

php artisan make:component Alert
<!-- resources/views/components/alert.blade.php -->
<div class="alert alert-{{ $type }}">
    {{ $slot }}
</div>

استخدام المكون:

<x-alert type="success">
    تم حفظ البيانات بنجاح!
</x-alert>

تعرف على المزيد حول قوالب Blade في Laravel من التوثيق الرسمي.

الخاتمة

Blade هو محرك قوالب قوي ومرن يجعل بناء واجهات المستخدم في Laravel أمراً سهلاً وممتعاً. مع ميزاته العديدة من التوجيهات والمكونات والتخطيطات، يمكنك بناء تطبيقات ويب معقدة بكود نظيف وقابل للصيانة.

برمجة سعيدة مع Laravel 11!


هل تريد قراءة المزيد من الدروس التعليمية؟ تحقق من أحدث درس تعليمي لدينا على بداية سريعة مع Gemma على KerasNLP.

ناقش مشروعك معنا

نحن هنا للمساعدة في احتياجات تطوير الويب الخاصة بك. حدد موعدًا لمناقشة مشروعك وكيف يمكننا مساعدتك.

دعنا نجد أفضل الحلول لاحتياجاتك.

مقالات ذات صلة

10 أساسيات Laravel 11: تجميع الأصول

تعلم أساسيات تجميع الأصول في Laravel 11 باستخدام Vite، بما في ذلك التثبيت والتكوين والأمثلة العملية لتطوير الويب.

10 د قراءة·