قوالب Blade وطرق العرض
اعرضوا HTML ديناميكيًا باستخدام توجيهات Blade والتخطيطات والمكوّنات
قوالب Blade وطرق العرض درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 4 دروس في المجموع.
ما هي Blade؟
Blade هي محرك قوالب Laravel. تنتهي الملفات بالامتداد .blade.php، وتدعم التوجيهات والحلقات وتوارث التخطيطات. تُحوَّل Blade إلى PHP عادي وتُخزَّن مؤقتًا.
إخراج المتغيرات
استخدم الأقواس المعقوفة المزدوجة لإخراج متغير. وتُهَرَّب القيمة تلقائيًا لمنع هجمات XSS.
{{-- resources/views/greeting.blade.php --}}
<h1>Hello, {{ $name }}</h1>
<p>You have {{ $messageCount }} messages.</p>الإخراج غير المُهَرَّب
استخدم {!! !!} لإخراج HTML خام (غير مُهَرَّب). لا تستخدم ذلك إلا مع المحتوى الموثوق.
{!! $htmlContent !!}الشروط
توفر Blade التوجيهات @if و@elseif و@else و@endif.
@if($user->isAdmin())
<a href="/admin">Admin Panel</a>
@elseif($user->isEditor())
<a href="/editor">Editor</a>
@else
<a href="/dashboard">Dashboard</a>
@endif@isset و @empty
اختصارات ملائمة لفحوصات القيمة الخالية أو الفارغة الشائعة.
@isset($username)
<p>Welcome, {{ $username }}</p>
@endisset
@empty($items)
<p>No items found.</p>
@endemptyالحلقات
تدعم Blade التوجيهات @foreach و@for و@while و@forelse (مع بديل @empty).
@forelse($posts as $post)
<article>
<h2>{{ $post->title }}</h2>
</article>
@empty
<p>No posts yet.</p>
@endforelseالمتغير $loop
يوفر $loop داخل حلقة @foreach بيانات وصفية، مثل: $loop->index و$loop->first و$loop->last و$loop->count.
التخطيط باستخدام @extends و@section
عرّف تخطيطًا رئيسيًا ووسّعه في العروض الفرعية.
{{-- layouts/app.blade.php --}}
<html>
<body>
@yield("content")
</body>
</html>
{{-- pages/home.blade.php --}}
@extends("layouts.app")
@section("content")
<h1>Home Page</h1>
@endsection@include
ضمّن عرضًا فرعيًا جزئيًا.
@include("partials.nav")
@include("partials.alert", ["type" => "success", "msg" => "Saved!"])مكوّنات Blade
توجد المكوّنات القابلة لإعادة الاستخدام في resources/views/components/، وتُستخدم بصيغة <x-component-name>.
{{-- components/alert.blade.php --}}
<div class="alert alert-{{ $type }}">
{{ $slot }}
</div>
{{-- Usage: --}}
<x-alert type="success">Profile updated!</x-alert>تمرير البيانات إلى العروض
مرّر البيانات من وحدة التحكم باستخدام view() مع مصفوفة أو باستخدام compact().
<?php
return view("users.index", [
"users" => User::all(),
"title" => "All Users",
]);
// Or:
return view("users.index", compact("users", "title"));الملخص
تُحوِّل Blade القوالب إلى PHP. استخدم {{ }} للإخراج المُهَرَّب، و@extends/@section للتخطيطات، و@foreach/@forelse للحلقات، و<x-component> لواجهة المستخدم القابلة لإعادة الاستخدام.
تحقّق سريعًا
ما صيغة Blade التي تُهَرِّب الإخراج بأمان لمنع هجمات XSS؟
الأسئلة الشائعة
هل درس «قوالب Blade وطرق العرض» مجاني؟
نعم — نص درس «قوالب Blade وطرق العرض» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 4 دروس في المجموع.
ماذا ستتعلم في «قوالب Blade وطرق العرض»؟
اعرضوا HTML ديناميكيًا باستخدام توجيهات Blade والتخطيطات والمكوّنات تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟
لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «قوالب Blade وطرق العرض»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟
نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- بنية مشروع Laravel
- تعريف المسارات في Laravel
- وحدات التحكم والإجراءات
- قوالب Blade وطرق العرض