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

أكتب أول Controller لك في إطار العمل الشهير Symfony2 – الجزء الثاني

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

اليوم سنتطرق إلى الجزء الثاني من أكتب أول Controller لك في إطار العمل الشهير Symfony2.

سأريكم كيفية ربط Controller ب Routing و ماذا نعني بهذا و ماذا يجب علينا فعله.

أولا إذا كنت لا تعرف شئ عنه Routing، ماهو Routing؟ أنصحك بأن تقرأ أولا هذه المقالة حول Routing.

لنبدأ بإذن الله كتابة Routing و هو بصيغة YAML :

أما إذا كنت تستعمل XML فعليك كتابته هكذا :

أما إذا كنت تستعمل PHP فعليك كتابته هكذا :

هذه ثلاث طرق متاحة لك، ولك الإختيار.

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

كما ترى فالمتغير name$ الذي أضفناه في Routing هو نفسه في Controller, مما يجعل الولوج لهذا المتغير أمر سهل و بسيط جدا، إذا يمكننا الآن أن نفعل ما نريد بهذا المتغير و أقل الإيمان أن نطبع جملة ما كأن نرحب بهذا الإسم :

كما ترى فإن استقبال المتغيرات من Routing إلى Controller أمر سهل و بسيط، يمكنك أن تفعل كل ما تتخيله أو ما تريده. لنرى مثال آخر ل تتضح لك الصورة :

نستقبل هنا متغيرين من Routing، لكن ماذا لو قلت لك بأننا نستقبل أكثر من متغيران، ماهو جوابك؟

إذا كان جوابك هو نعم هنا أكثر من متغيران، فأنت على الطريق الصحيح، لأن هناك متغير باسم color$ وهو في السطر الرابع، و هذا النوع من المتغيرات يكون معه قيمة افتراضية, وفي مثالنا هذا فالقيمة الإفتراضية للمتغير color$ هي green.

لنرى الآن Controller الذي سيستقبل هذا Routing و متغيراته :

كما ترى فإن Controller يستقبل كل المتغيرات التي أضفناها في Routing، لكن هل لاحضت شئ ما؟؟؟

نعم ترتيب المتغيرات ليس صحيحا، لكن لا تخف فان Symgfony2 ذكي بما فيه الكفاية لكي يتعرف على كل متغير في Routing و ما يناسبه من المتغيرات في Controller، لكن ماذا لو أضفنا متغير آخر غير موجود في Routing، مثلا :

ففي هذه الحال، سيطبع لنا Symfony رسالة خطأ، إذا ماهو الحل لهذا؟؟؟ بكل بساطة كل ما عليك فعله هو أن تجعل هذا المتغير يأخذ قيمة افتراضية، مثل :

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

هذا ليس كل شيء في Controller، هناك أشياء أخرى كأن توجه المستخدم إلى صفحة أخرى، مثال :

ستحتاج هذا كثيرا في Symfony2، إذا تذكر هذا جيدا.

أريد أن أريك شيئين في Symfony2 ا للذان ستحتاجهما كثيرا أيضا، أولا كيفية إرجاع المحتوى، أي عندما يلج المستخدم إلى Controller فإننا في الغالب نود إظهار محتوى ما له، لنكن جدا بسطاء و نقول أننا نريد عندما يدخل المستخدم اسمه، فإننا سنظهر له محتوى يكون فيه جملة ترحيب باسمه، لنرى هذا المثال :

أو ببساطة يمكننا فعل هذا :

هذا المثال يقودنا للكلام على القالب المشهور Twig و هو يعتبر القالب الإفتراضي ل Symfony2. سأتطرق في الدروس المقبلة إن شاء الله إلى هذا الموضوع.

لنرى مثال بسيط وهو رسالة الترحيب مع الإسم الذي يدخله المستخدم :

كما ترى فهو يشبه كثيرا لغة تصميم المواقع HTML.

ثانيا لنرى كيفية التعامل مع الجلسات SESSION في Symfony2، كما نعلم فالجلسات شيء نستخدمه كثيرا في المواقع و هو مفيد إلى حد ما في نقل البيانات بين صفحات الموقع :

كما ترى فإن Symfony2 يسهل عليك استخدام الجلسات.

هذا أغلب ما ستحتاجه في Controller و للمزيد من المعلومات، يمكنك الولوج للموقع الرسمي ل Symfony2.

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

عن Yassine Belkaid

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

اضف رد

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

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

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

*