عبدالفتاح الصلوي

رحلة الـ Request بشيء من التبسيط

كتبها : عبدالفتاح الصلوي / في رصيف : Laravel

رحلة الـ Request  بشيء من التبسيط

#كلام_مبرمجين

رحلة الـ Request  بشيء من التبسيط


لنستوعب الية عمل  auth و multi auth  لابد من فهم كيف يتم ارسال البيانات و الوصول لها .

فالمستخدم يتعامل مع التطبيق عن طريق ال Request للقيام  بعمليات مثل  (عرض - اضافة - تعديل - حذف) .

 الـ Request  اشبه ما يكون بسائق  شاحنة.

أول وجهة يقصدها ال request  هي (routes)
•    الـ routing يتم تحميلها مباشرة عند بدء عمل النظام ، ويتم فيها تسجيل كل ال routes التي تحدد كيف سيتم الاستجابة للـ HTTP  وشكل الطلب الذي سنتعامل معه. 

 
 في هذه المرحلة اذا لم يستوفى الطلب  المواصفات  المسجلة سيتم الإبلاغ عنه و تحويله الى Exception  من نوع 404   ، اما  اذا تمت المطابقة سيتم تحويلة بحسب الـ routes الى  الوجهة المحددة بعد أن يستكمل الوثائق والشروط المطلوبة.

من الشروط الواجب توفرها في عمليات من نوع ( POST, PUT, or DELETE ) انه لابد من توفر شهادة   CSRF  سارية المفعول  وموثقة لدى  (VerifyCsrfToken Middleware) مالم سيتم احتجاز الطلب  وتحويله الى Exception وتوجيه له تهمة من نوع  TokenMismatchException  .

الإجراءات التي تمت  إلى حد الآن هي اجراءات روتينية يتم اتخاذها بحق جميع الطلبات ، لكن هناك حالات يتوجب أن يتم التعامل مع الـ request  بصرامة أكثر و عليه أن يقوم بإكمال تصديق الوثائق الإضافية،  حيث  يفترض مراجعة  auth middleware او المكتب المحدد من قبل لroute  او دالة ال construct  في ال controller  او عند اللزوم ، في هذه الحالة يقوم الـ auth بالتحقيق ليقرر هل بالإمكان مواصلة الرحلة مالم سيقوم بدوره بتحويلك الى مكتب login  .

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

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


استندنا  في حديثنا على نظام  ببنية MVC ووصف  العمليات كما تحدث في laravel framework   .




علامات ذات صلة :