هذه التدوينة تهم فقط من يعملون على إطار العمل المسمى بـ Laravel المنشأ باستخدام لغة php وهو إطار عمل لإنشاء مواقع إنترنت بشكل رائع وأمن وسهل

مقدمة

Blade هو محرك قوالب (Template Engine) يأتي مع إطار العمل Laravel ولمن لايعرف ماهي محركات القوالب فهي عبارة عن نظام يسهل فصل الأكواد البرمجية المكتوبة مثلاً بـ PHP عن الـ HTML وكذلك يسهل التعامل مع أكواد الـ HTML بحيث لاتحتاج لإعادة كتابتها في أكثر من مكان وله أيضاً فوائد أخرى ولكن هذا وصف لمحركات القوالب بشكل عام.

ماهي Directives ؟

لنفترض أنك تكتب صفحة HTML وتريد عمل قائمة لصفحات الموقع ولكن هذه القائمة تختلف إذا كان المستخدم مسجل دخوله في الموقع أو إذا كان مجرد ضيف غير مسجل دخوله، في هذه الحالة ستضطر لاستخدام الجملة الشرطية if بداخل صفحة العرض المكتوبة بالـ HTML مثلاً :

<?php
    if (Auth::user()) {
        // ..
    } else {
        // ..
    }
?>

ولكن عند استخدامك للـ Directives لا تحتاج لكتابة كود php بداخل صفحة العرض فقط عليك أن تفعل الأتي لكتابة كود مثل الموجود أعلاه:

@auth 
// The user is authenticated... 
@endauth 

@guest 
// The user is not authenticated... 
@endguest

هذه directives المسماة @auth و @guest معرفة مسبقاً في محرك القوالب Blade ويقوم المحرك باستبدالها بالكود البرمجي المقابل لها عند طلب عرض الصفحة وتوجد العديد من directives المعرفة مسبقاً وتجدها عند دخولك على هذا الرابط وبحثك عن directives ولكن مايهمنا الأن كيف يمكننا إنشاء directives جديدة؟

يوجد في دليل الاستخدام الخاص بـ Laravel شرح مبسط لإنشاء directives جديدة  ولكن توجد على الإنترنت شروحات جميلة وأكثر تفصيلاً وهي:

  1. All About Writing Custom Blade Directives
  2. التعرف على Blade Directive وامثلة عليها

تقريباً هذه الثلاثة الروابط تحتوي على كل شيء يخص هذا الموضوع، إذا كان هنالك معلومات إضافية غير موجودة تكرماً أخبرني عن طريق حسابي في تويتر وإذا أحتجت مساعدة في تطبيق ماذكر أعلاه أيضاً أسعد بتواصلك معي على حسابي في تويتر.