وداعًا للكود الفوضوي: سيطرة على عروض لارافيل باستخدام Blade
إنشاء عرض ديناميكي باستخدام محرك القوالب Blade في لارافيل
لارافيل، إطار عمل PHP شهير، يبسّط عملية تطوير الويب من خلال محرك القوالب المدمج الخاص به: Blade. يوفر Blade نهجًا قويًا وبسيطًا لإنشاء عرض HTML ديناميكي، حيث يفصل منطق العرض عن كود التطبيق. تتعمق هذه المدونة في المفاهيم الأساسية لـ Blade وتوضح بنيته الأساسية لإنشاء صفحات ويب مرنة.
احتضان العروض الديناميكية باستخدام Blade
تخيل موقعًا يعرض قائمة بالمنتجات. يتطلب كل منتج معلومات فريدة مثل الاسم والوصف والسعر. سيتضمن PHP التقليدي تضمين هذه البيانات مباشرة في HTML، مما يؤدي إلى كود فوضوي يصعب صيانته. ي حل Blade هذه المشكلة عن طريق فصل بنية HTML (العرض) عن منطق استرداد البيانات (المتحكم). ويعزز هذا الفصل كودًا أكثر نظافة وتحديثات أسهل.
إليك كيفية تحقيق Blade للعروض الديناميكية:
- قوالب Blade: أنشئ ملفات بامتداد
.blade.php
تُخزن عادةً في الدليلresources/views
. تحتوي هذه الملفات على ترميز HTML يتخلله توجيهات Blade. - تمرير البيانات: تمرر متحكمات Laravel البيانات (المتغيرات، المصفوفات، الكائنات) إلى عروض Blade. تصبح هذه البيانات قابلة للوصول إليها داخل القوالب.
- معالجة العروض: يعالج محرك قالب Blade التوجيهات والبيانات، وينشئ رمز HTML النهائي الذي يتم إرساله إلى المتصفح.
إتقان بنية Blade الأساسية
توجيهات Blade هي تعليمات تبدأ بالرمز @
. دعونا نستكشف بعض التوجيهات الأساسية:
- @if و @else: توجيهات تحكم التدفق تُستخدم للبيانات الشرطية.
HTML
@if ($user->isAdmin)
<p>مرحبا بالمسؤول!</p>
@else
<p>مرحبا، {{ $user->name }}!</p>
@endif
يتحقق هذا المثال مما إذا كانت خاصية isAdmin
للمستخدم مضبوطة على true
. إذا كانت الإجابة نعم، فإنه يعرض رسالة للمسؤول. وإلا ، فإنه يعرض تحية شخصية باستخدام المتغير $user->name
.
- @foreach: تتكرر عبر مجموعات البيانات.
HTML
@foreach ($منتجات as $منتج)
<div class="منتج">
<h2>{{ $منتج->اسم }}</h2>
<p>{{ $منتج->سعر }}</p>
</div>
@endforeach
تتكرر هذه الحلقة عبر مجموعة $منتجات
، حيث تعرض اسم وسعر كل منتج داخل حاوية منتج.
- @include: تدرج قالب Blade آخر داخل القالب الحالي، مما يعزز إعادة الاستخدام.
HTML
<header>
@include('layouts.header')
</header>
<main>
</main>
<footer>
@include('layouts.footer')
</footer>
هنا ، يدمج التوجيه @include
القوالب header.blade.php
و footer.blade.php
، مما يعزز تناسق الرأس والتذييل عبر صفحات متعددة.
هذه مجرد أمثلة قليلة على قدرات Blade. باستخدام Blade، يمكنك إنشاء عروض ديناميكية وقابلة لإعادة الاستخدام، مما يحافظ على نظافة تطبيقات Laravel الخاصة بك وإمكانية صيانتها. استكشف وثائق Laravel الرسمية للحصول على قائمة شاملة بالتوجيهات والميزات لتحسين تجربة تطوير الويب باستخدام Blade.