السلام عليكم،
بعدما أنهيت عدة مشاريع صغيرة باستخدام Laravel، حان الوقت لفهم الإطار بتفاصيله وكيفية عمله حتى أُنجز مشاريع كبيرة ومعقدة بسهولة.
واجهتني مسألة لم أفهمها، وهي الـ Repository Pattern.
هل من أحدٍ يشرحها لي ببساطة؟
سأحاول تفسيرها لك بشكل بسيط
كما قام الأعضاء الأفاضل بالرد فهى وسيط بين الModel والController
وتتلخص اهميتها انه فى حالة تم تغيير مصدر البيانات والذى كان Eloquent Model الى اى مصدر اخر وليكن External API ويقوم بتزويدك بالبيانات عن طريق صيغة json.
فانت داخل كل Controller كنت تقوم باستدعاء قائمة الأعضاء من خلال Model ال User
مثلا
$users = User::all()
بالتالى لو غير مصدر الأعضاء وهو الموديل User
فسوف تحتاج الى المرور الى كل Controller بالموقع وتعديله ليستخدم اسم الموديل الجديد او المصدر الجديد حتى ولو كان قاعدة بيانات من نوع مختلف وهنا يأتى دور الRepository Pattern Object وسوف نفترض ان اسمه UserRepository.php
وسوف يحتوى على عدة وظائف من ضمنها public function all()
وهى المسئولة عن تزويدك بمصفوفه تحتوى على كل المتسخدمين وتقوم باستخدامها فى الController
userRespository::all()
وبالتالى عند تغيير مصدر البيانات الخاصة بالمستخدمين سوف تحتاج الى تغييره مره واحده فقط داخل المستودع الخاص بالمستخدمين وهو UserRepository.php
وسوف لن تحتاج الى تغيير اى اكواد داخل اى مكان اخر فى حالة اعتمدت على تلك الطريقه
وللمزيد من التفاصيل بالكود وبشكل عملى على Laravel 4 Framework
اقرأ هنا
ولكن المصدر المذكور باللغه الإنجليزية
تحياتى
التعليقات