اكتشف إطار PHP Laravel


الدرس: النشاط: إنشاء موقع استبيان


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

مهمتك


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

ميزات الموقع


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

    .../sondage
ثم نحصل على قائمة الاستطلاعات المتاحة:
framework Laravel MVC
بالضغط على أحد الأزرار ، ينتهي بك الأمر في النموذج الذي يسمح لك بالمشاركة في التصويت:
framework Laravel MVC
بالنسبة لعناوين URL ، نعتمد هذا المبدأ:

    .../sondage/vote/nom_sondage
يحدد الجزء nom_sondage بشكل فريد كل استطلاع.
الزر يعيد إلى الصفحة الرئيسية. يدخل الزائر عنوان بريده الإلكتروني ويختار الخيار الذي يريده. تم التحقق من صحة العنوان:
العنوان مطلوب:
framework Laravel MVC
يجب أن يكون العنوان صالحًا:
framework Laravel MVC
يجب ألا يكون العنوان مستخدمًا بالفعل:
framework Laravel MVC
ملاحظة : نستبعد هذا القيد الأخير من مجال التحقق من صحة Laravel ونتعامل معه بشكل مستقل حتى لا نعقد الكود أكثر من اللازم. سنرى في الجزء الثاني من الدورة التدريبية كيفية إنشاء قواعد تحقق مخصصة.
إذا كان كل شيء صحيحًا ، يتم التحقق من صحة التصويت ويتم عرض صفحة النتائج:
framework Laravel MVC
الزر يعيد إلى الصفحة الرئيسية.

تنظيم الكود


عمل ليو جيدًا ونظم ملفاته جيدًا.
الطرق routes
تم تخطيط الطرق الثلاثة.
المراقب Controller
ويستخدم وحدة تحكم مسماة  SondageController وضعت في مجلد وحدات التحكم:
framework Laravel MVC
وحدة التحكم هذه هي التي يجب عليك إكمالها لكي يعمل الموقع بشكل صحيح.
الإدارة والتحقق من الصحة
لدينا هذا الهيكل للإدارة:
framework Laravel MVC
وطلب نموذج للتحقق من الصحة:
framework Laravel MVC
كتب ليو كل كود المقابل.

المعطيات


نظرًا لأننا لم نتعامل بعد مع قواعد البيانات في الجزء الأول من الدورة التدريبية ، فإننا نستخدم الملفات لتخزين البيانات:
framework Laravel MVC
لكل استبيان لدينا ملفين. خذ حالة الاستبيان على لغات البرمجة التي رأيناها أعلاه. اسم هذا الاستطلاع هو  langage. عنوان URL للتصويت هو:

    .../sondage/create/langage 
يحتوي الملف الموجود  langage في المجلد  files على نتائج الأصوات في النموذج: 
4،1،1،2،3
يتوافق كل رقم مع أحد الخيارات. نظرًا لأن هذا الاستطلاع يحتوي على 5 خيارات ، فلدينا 5 أرقام تزيد على الأصوات.
langage_emails يحتوي الملف  على عناوين البريد الإلكتروني للناخبين في النموذج التالي: 
adresse1@chez.fr
adresse2@chez.fr
adresse3@chez.fr
adresse4@chez.fr
adresse5@chez.fr
... 
يتم إنشاء هذه الملفات بواسطة رمز الإدارة أثناء التصويت الأول. لذلك عند مغادرة التطبيق ، يكون المجلد فارغًا.
ومن الواضح أن الشيء نفسه بالنسبة للاستبيان الثاني اسمه  appreciation .
معلومات تعريف الموقع لهذه الملفات وكذلك عناوين الأسئلة والأجوبة موجودة في ملف تكوين يسمى  sondage.php  : 
framework Laravel MVC
كتب ليو أيضًا كود هذا الملف.

العرض views


هناك 4 ملفات للعرض مسمات: 
framework Laravel MVC
  • template  : قالب  الشفرة لطرق العرض ،
  • index  : لعرض الاستطلاعات المتاحة على الصفحة الرئيسية مع الروابط ،
  • sondage  : لعرض نموذج التصويت ،
  • resultats  : لعرض نتائج التصويت.
هناك أيضًا ، لقد أنهى ليو العمل بالفعل.