Ahlam Mohammed 👩🏻‍💻✨
Ahlam Mohammed 👩🏻‍💻✨

@ahlamM7md

12 تغريدة 12 قراءة Aug 12, 2022
⚡️Laravel ⚡️
لارافل توفر طرق مختلفة للتحقق من صحة البيانات، وعادةً يتم إستخدام ()validate في controller.
هذي الطريقة لاتتناسب مع السيناريوهات المعقدة في validation لذلك يفضل استخدام Form Request اللي بنتعرف عليه في هذا الثريد وكيف ممكن نستخدمه بطريقه محترفه🔥
#tips_in_laravel
مفهوم Form Request ببساطة بدون تعقيد هو كلاس يستخدم لعزل validation عن Controller 🤷🏻‍♀️
وعشان ننشئ هذا الكلاس فقط ننفذ هذا الأمر ⬇️
بعد انشاء الكلاس بنلاحظ انه يحتوي على دالتين اساسيه هي ()authorize واللي فيها نحدد الصلاحيات للمستخدمين المخولين بالتعديل.
والدالة الثانيه هي ()rules واللي فيها يتم كتابة قواعد التحقق ⬇️
بعد انشاء Form Request يتم استخدامه في Controller..
إذا كان التحقق صحيح بنحصل على البيانات التي تم التحقق من صحتها من Form Request وإلا بيرجع لنا exception 🚫
طيب لو كنا محتاجين التحقق من البيانات اثناء عملية update 🤔‼️
بنحتاج Form Request اخر UpdateEmployeeRequest بنفس الطريقه السابقه ولكن بـ validation rules تبعها 🤷🏻‍♀️
✅ So this is the first and simple approach used so far.
2️⃣ الطريقه الثانيه هي إستخدام Form Request Class واحد للتعامل مع store و update⚡️
ننشئ دوال منفصلة وكل داله مسؤوله عن rules معينة ومن ثم في دالة rules نتحقق من HTTP request في حال كان POST يستدعي Store method وفي حال كان PUT/PATCH يستدعي Update method..
Now, we have one class that serve different validation depends on HTTP request 🔥
3️⃣ اخر طريقه هي تنظيم الوضع اكثر..
فرضاً كان معانا أكثر من Form Request وفي كل واحد فيهم نكرر دالة rules 🥱
Oops, Don't Repeat Yourself 😵‍💫
لذلك ننشئ كلاس رئيسي (Form Request )وليكن اسمه BaseFormRequest ويكون بداخله دالة rules إضافةً لل resourceful methods
بعدها في أي وقت حابين ننشئ كلاس Form Request نخليه يورث مُباشرةً من BaseFormRequest وليس من FormRequest و يعمل override للدوال اللي يحتاجها بدون الحاجه لإعادة كتابة دالة rules 🙏🏽
وبكذا صار الكود منظم أكثر 🚀
⚡️ أخيراً إذا أعجبكم الثريد لاتبخلوا فيه على غيركم 🔁
و إذا كنتوا مهتمين و حابين تعرفوا تركات تبسط عملك في Laravel تابعني 🚀

جاري تحميل الاقتراحات...