السلام عليكم و رحمت الله و بركاته.
موقع PHPIST.NET هو موقع موجه إلى كل فئات المطورين و المبتدئين في هذا المجال. الموقع حديث النشأة لذلك فمرحبا بكل من يريد المساهمة بأي مقالة في إطار الويب لإغناء المجتمع العربي بآخر التكنولوجية و ما تتميز به بالأخص لغة PHP و PHP5. لكن الموقع منفتح على كل اللغات الأخرى إذا كان من يريد أن يساهم.
أخبار التكنولجية
الرئيسية » Symfony2 » تعلم كتابة Routing في إطار العمل الشهير Symfony2
تعلم كتابة Routing في إطار العمل الشهير Symfony2

تعلم كتابة Routing في إطار العمل الشهير Symfony2

السلام عليكم و رحمة الله وبركاته.

في درسنا هذا و كما وعدتكم سنتطرق إلى ما يسمى بRouting في إطار العمل Symfony2.

التوجيه بكل بساطة هو إنشاء روابط أو مايسمى بعناوين المواقع الصديقة أي Friendly urls

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

إذا ف Routing في Symfony2 شيء جميل و سهل الإستعمال، قبل أن نرى مثال على ذلك، لنرى مميزات RoutingController
2 – توليد العناوين داخل Controller و القوالب (templates)
3 – تحميل موارد Routing من Bundles (أو أي مكان آخر)

لنرى مثال الآن :

هذا المثال يربط كل عنوان يبدئ ب blog ثم عنوان ال blog و في هذه الحالة هو المتغير slug من خلال path.

أما الكلمة المفتاح controller__ فهي تربط هذا Routing ب Controller. قد تتسائل كيف ذلك؟؟؟ لنكمل تحليل ما بدأناه، داخل هذه الكلمة المفتاح نجد الإسم الكامل ل Bundle، ثم إسم الكلاس ثم اسم Controller.

إذا تتبعنا هذا Routing فسوف نصل إلى كلاس كهذا :

إذا عندما نزور عنوان مثل /blog/some-post فالمتغير slug$ سيأخذ القيمة ‘some-post’ و بهذا نكون قد حصلنا على البلوڭ blog الذي نريده من الرابط.

يمكن إعطاء أيضا قيمة افتراضية في Routing ,مثلا كأن يكون لدينا صفحة بها ترقيم الصفحات أو مايسمى ب pagination، فهنا يمكن أن نعطي لترقيم الصفحات قيمة 1 كقيمة افتراضية :

أو نتوفر على موقع به العديد من اللغات و نريد أن نضع اللغة الإفتراضية هي اللغة العربية، فيمكن أن نفعل هكذ:

شيء مهم آخر في Routing وهو إعطاء قيم ل HTTP Method :

ففي هذا المثال يمكننا اللولوج لهذا Controller عن طريق GET, أما إذا حاولنا قيم أخرى مثل : POST, HEAD… فسوف نرى رسالة خطأ في المتصفح و هذا أمر جيد جدا.

هنا كلمة مفتاح أخرى مهمة و هي : requirements, تأخذ هذه الكلمة قيمة أو قيم من أجل الحرص على مراعاتها، لنأخد مثال على ذلك :

هنا الكلمة requirements تأخذ ثلاث قيم أو متغيرات، فالأول راجع إلى اللغة المتعملة في هذا الموقع أو التطبيق، إذا يمكننا فقط الولوج إما إلى اللغة الإنجليزية أو الفرنسية. كذلك هناك صيغة الرابط إما تأخذ صيغة html أو صيغة rss، فلو أعطيناها مثلا صيغة json فسوف يرجع لنا المتصفح رسالة خطأ. و في الأخير يجب أن تكون السنة مكونة من أرقام فقط، غير ذلك كدمج حرف مع الأرقام سيرجع لنا المتصفح برسالة خطأ.

هذا ما يتعلق ب Routing في Symfony2، للمزيد من المعلومات يمكنك الرجوع إلى الموقع الرسمي ل Symfont2

أتمنى أن تجد هذا الدرس مفيدا، لكل الإستفسارات، الإنتقادات أو التعليقات مرحبا بها.

عن Yassine Belkaid

ياسين بلقايد، مطور مواقع محترف. طور مجموعة كبيرة من المواقع و تطبيقات الويب. يحب عمله و شغوف بآخر التكنولوجية، يحب لغة PHP5 و كل ما يتعلق بها.

تعليق واحد

  1. شكرا لك اخي على هذه المعلومات

اضف رد

لن يتم نشر البريد الإلكتروني . الحقول المطلوبة مشار لها بـ *

Please type the characters of this captcha image in the input box

Please type the characters of this captcha image in the input box

*