محرك القوالب Blade وواجهات العرض
يعتبر محرك Blade أحد أقوى الميزات التي تجعل التعامل مع واجهات العرض في Laravel تجربة فريدة. بدلاً من كتابة كود PHP المتعب داخل ملفات HTML، يوفر لك Blade لغة بسيطة وأنيقة تساعدك على الحفاظ على نظافة ملفاتك وفصل المنطق البرمجي عن شكل التنسيق. يتم ترجمة ملفات Blade إلى كود PHP خام وتخزينها في الكاش لضمان أعلى أداء ممكن.
1. عرض البيانات والرموز الأساسية
لعرض أي متغير قادم من المتحكم، نستخدم الأقواس المزدوجة. يقوم لارافيل تلقائياً بتنظيف البيانات لمنع هجمات XSS:
// عرض متغير عادي
{{ $name }}
// عرض التاريخ الحالي
{{ date('Y-m-d') }}
إذا كنت بحاجة لعرض كود HTML خام (دون تنظيف)، نستخدم الرمز التالي، ولكن يجب الحذر عند استخدامها مع بيانات مدخلة من المستخدم:
{!! $html_content !!}
2. العمليات الشرطية والحلقات التكرارية (Directives)
يوفر Blade اختصارات تسمى Directives تبدأ برمز @ للتعامل مع المنطق البرمجي داخل الصفحة:
example.blade.php
@if($age >= 18)
يمكنك الدخول
@else
عذراً، المحتوى للبالغين فقط
@endif
@foreach($users as $user)
{{ $user->name }}
@endforeach
3. توريث القوالب (Layouts & Inheritance)
أهم ميزة في Blade هي القدرة على وضع الهيكل العام للموقع (الهيدر والفوتر) في ملف واحد وتوريثه لبقية الصفحات باستخدام @extends و @yield.
resources/views/layouts/app.blade.php
@yield('content')
resources/views/home.blade.php
@extends('layouts.app')
@section('content')
مرحباً بك في الصفحة الرئيسية
@endsection
أسئلة شائعة حول Blade
لا، بالعكس. يقوم لارافيل بترجمة ملفات Blade إلى ملفات PHP عادية وتخزينها، ولا يتم إعادة ترجمتها إلا إذا قمت بتعديل الملف، مما يجعل الموقع سريعاً جداً.
هذا الرمز يقوم بتوليد توكن أمان يحمي موقعك من هجمات Cross-Site Request Forgery. لارافيل يرفض استلام أي بيانات من نموذج لا يحتوي على هذا الرمز.
الدرس القادم
إدارة الأصول باستخدام Vite
تعلمنا كيف نبني الهيكل والواجهات، الآن سنكتشف كيف نتعامل مع ملفات CSS و JavaScript وكيفية ربطها بفعالية باستخدام أداة Vite الحديثة.
تعلم أداة Vite