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

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

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

في هذه المقالة سنرى كيفية كتابة Controller و ماذا يمكنك أن تستطيع أن تفعل داخل هذا Controller.

إذا ماهو Controller؟

Controller هو أسلوب (method) في لغة PHP5 حيث يأخذ معلومات من الطلب (HTTP Request) و يحوله إلى إجابة (HTTP Response), هذه الإجابة يمكن أن تكون عبارة عن محتوى و هذا المحتوى قد يأخذ صيغ مثل : HTML, Json, XML أو صورة، إعادة توجيه إلى صفحة أخرى أو أي شيء قد تحلم به…

لنأخذ مثال من الموقع الرئيسي لإطار العمل Symfony2 :

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

لنأخذ هذه المرة مثال أكثر ديناميكية. هذا المثال سيأخذ متغير و سنستعمله لنطبع جملة بسيطة في للمتصفح :

للتذكير ربما تقول Controller هنا هو HelloController، سأقول لك لا، ربما لم تتضح لك الصورة بعد، HelloController يسمى Controller Class أي أن هذا الكلاس يجمع مجموعة من Controllers أو الأساليب, قد يكون هذا مربك قليلا، لكن في الدروس المقبلة إن شاء الله ستكون لك دراية أكبر بController.

إذا لنرجع إلى مثالنا و نرى كيفية استخدام هذا Controller :

1 – في أول السطر لدينا تعليق بسيط و هو مكان وجود Controller، فكتابة العليقات في أكوادك مهم جدا فلتكتسب هذه الميزة.

2 – لدينا هنا مايعرف ب namespace و هو مفهوم جديد في لغة PHP5، و هو يجعل من كودك أكثر تنظيما و حتى لو إفترضنا أن هنا كلاس له نفس الإسم في كلاس آخر، ف namespace يجعل من كلا الكلاسات مختلفان، أما بدون namespace فقد تواجه مشاكل في نفس التسمية ما قد ينتج على إظهار رسالة خطأ في المتصفح.

3 – في السطر 4 نستدعي كلاس Response باستخدام use و هي مفهوم جديد أيضا مع namespace، و هذا يشبه اسخدام لأسلوب include أو require.

4 – في السطر 6 هنا نجد اسم الكلاس فكل كلاس يجب أن يكون مكون من جزئين، أولا اسم الكلاس و في هذه الحالة Hello بالإضافة إلى اسم Controller هذا يعطينا اسم الكلاس كاملا : Hello + Controller.

5 – في السطر 8 نجد اسم Controller أو الأسلوب و هذا أيضا يأخذ اسم Controller + Index و في هذا المثال هو : index + Action. بالإضافة إلى متغير أو ما يسمى ب Parameter, لدينا متغير واحد يحمل اسم name$.

6 – في السطر 10 هذا ما يسمى بإرجاع إجابة للمتصفح و هنا نجد جملة بسيطة تبدأ ب Hello + اسم المتغير لأنه اسم ديناميكي، يمكن أن يكون أي اسم. سنرى في الدرس المقبل كيفية الولوج لهذا الإسم و كتابة أي اسم نريده، و هذا الدرس سيتعلق بما يسمى ب Routing.

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

أتمنى أنني قد أعطيت نظرة و لو بسيطة جدا عن كيفية عمل Controller و في الدروس المقبلة إنشاء الله سنتطرق لأشياء أخرى.

لا تنسوا أن تطرح أفكاركم، إنتقاذاتكم أو تساؤلكم، و السلام عليكم و رحمت الله وبركاته

عن 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

*