الكيانات والخدمات
جهات
نظرًا لأن المهام أصبحت أكثر تعقيدًا وتعقيدًا ، ومن المستحيل تخزين جميع البيانات في قاعدة البيانات ، فقد تقرر إنشاء كيانات بيانات ثابتة في المشروع. الجوهر بسيط - يتم تخزين البيانات الثابتة الأساسية في مكان معين ، والتي يمكن تشغيلها في كود PHP ، ويتم إدخال تمثيلها باللغة الإنجليزية في قاعدة البيانات.
في العرض الأساسي ، قد تبدو فئة Entity.php كما يلي:
declare(strict_types = 1);
namespace entities;
class Entity {
protected static $map;
public static function getMap():array {
return static::$map;
}
}
يجب على ورثته تنفيذ خاصية الخريطة $ ، والتي سيحصلون عليها على النحو التالي:
E1::getMap();
علاوة على ذلك ، فإن معظم البيانات الثابتة تفي بمنطق الاستلام. إذا كنت بحاجة إلى تجميع البيانات أو تحديد بيانات إضافية ، فسيتم تنفيذ هذا المنطق بالفعل في الفئات الموروثة.
خدمات
تم تصميم الخدمات لتخزين منطق الأعمال للتطبيق. بالإضافة إلى ذلك ، يمكن استخدام الخدمات كمنطق منفصل عن إطار العمل. الخدمة عبارة عن مجموعة من الطرق التي تنفذ منطق التطبيق. الشروط التي تم تحديدها للخدمة:
- لا ينبغي للخدمة الوصول بشكل مستقل إلى وحدات التحكم وجهات النظر ؛
- يمكن للخدمة الوصول إلى قاعدة البيانات والنماذج والكيانات.
في أفضل الأحوال ، يجب أن ترسل وحدة التحكم جميع البيانات الضرورية إلى الخدمة ، ولكن قد ينشأ موقف يتطلب الرجوع بشكل مستقل إلى بعض النماذج للحصول على البيانات. لا حرج في ذلك ، لكن من الأفضل الالتزام بالمنطق القائل بأن المتحكم يشغل مسارات البيانات.
افتراضيًا ، لا تنفذ الخدمة أي منطق قياسي ، نظرًا لأنه تنفيذ فريد لجزء من المشروع. لذلك ، تقرر عدم إنشاء فئة خدمة أساسية. ومع ذلك ، تجدر الإشارة إلى أنه من الأفضل إنشاء فئات أساسية حتى لو كانت فارغة. هذا يرجع إلى حقيقة أنه قد تأتي لحظة يحتاج فيها جميع الورثة إلى نفس المنطق أو تنفيذ طريقة ما. من أجل عدم إجراء تغييرات في الميراث في جميع الفئات ، من الأسهل أن ترث في البداية من الطبقة الأساسية ، حيث يكون هذا الموقف أقل صعوبة وأرخص من حيث الموارد المؤقتة.
بشكل عام ، يمكن تمثيل تدفق البيانات في البنية المقترحة على النحو التالي:
- تذهب البيانات أو الطلب إلى وحدة التحكم.
- تتصل وحدة التحكم بالنموذج والخدمة والكيان بطريقة ثنائية الاتجاه. هنا يتلقى ويعيد بعض البيانات.
- ترسل الخدمة البيانات إلى وحدة التحكم أو تستقبل البيانات أو ترسلها إلى النموذج.
- ترسل وحدة التحكم البيانات المستلمة إلى العرض.
وبالتالي ، اتضح أن البيانات ومبدأ تشغيل التطبيق يتم توزيعها بين عناصر MVC الأساسية والعناصر الجديدة.
خاتمة
وتجدر الإشارة إلى أن إدخال هذا النهج جعل من الممكن تبسيط تطوير التطبيقات بشكل كبير والتحكم في تدفق البيانات. تم إخراج معظم البيانات من قاعدة البيانات ، مما أدى إلى تقليل حجمها وزيادة السرعة الإجمالية للتطبيق عن طريق تقليل عدد الطلبات.