ماذا تعني الـ Repository في إطار العمل Laravel؟

khaledhoty

السلام عليكم،

بعدما أنهيت عدة مشاريع صغيرة باستخدام 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

اقرأ هنا

ولكن المصدر المذكور باللغه الإنجليزية

تحياتى