بداية سريعة DI symfony على (حقن التبعية) تعليمي
ما هو حقن التبعية (DI)؟
حقن التبعية هي تقنية تسمح للكائنات المتباعدة داخل تطبيق البرنامج. عموما إذا كائن يتطلب الوصول إلى وظائف أخرى سيكون مثيل وهو ما أدى إلى نظم داخليا المقرونة بإحكام. من خلال تنفيذ حقن التبعية نحن حقن الكائنات المطلوبة جاهزة للاستخدام (وأحيانا يشار أيضا إلى انعكاس السيطرة -- IOC). نأخذ المثال التالي :
<؟ PHP فئة صانع القرار { makeDecision العامة وظيفة (مجموعة معلمات $) { / / تحتاج محول قاعدة البيانات موانئ دبي $ = DecisionParameters جديدة () ؛ = $ $ parameterScore DP -> getScore ($ المعلمات) ؛ / *... بعض أكثر القرارات المنطق... * / عودة ($ parameterScore> 50) ؛ } }
ويقال إن هذه القطعة من التعليمات البرمجية إلى أن تقترن بإحكام إلى كائن DecisionParameters. إعادة كتابة ما سبق بطريقة المتباعدة كنا قد شيء من هذا القبيل....
<؟ PHP فئة صانع القرار { $ _dp خاصة ؛ الوظيفة العامة __construct ($ DP) { دولار هذا -> _dp = $ DP ؛ } makeDecision العامة وظيفة (مجموعة معلمات $) { $ = دولار هذا parameterScore -> _dp -> getScore ($ المعلمات) ؛ / *... بعض أكثر القرارات المنطق... * / عودة ($ parameterScore> 50) ؛ } }
في حين كسب فوائد رمز المتباعدة ، فإننا نقوم بإضافة هذا التعقيد أنه في كل مرة يتم إنشاء مثيل كائن علينا أيضا أن مثيل لها تبعيات وتمرير هذه في غاية. على سبيل المثال ، ما يلي :
$ = اختيار صانع القرار الجديد () ؛ صدى دولار خيار -> makeDecision (صفيف (جهود '=>' منخفضة '،' عودة '=>' عالية ')) ؛
يصبح الآن :
موانئ دبي $ = DecisionParameters جديدة () ؛ $ اختيار صانع القرار الجديد = ($ DP) ؛ صدى دولار خيار -> makeDecision (صفيف (جهود '=>' منخفضة '،' عودة '=>' عالية ')) ؛
هذا الوضع يصبح أكثر إيلاما كما ارتفع عدد التبعيات لفئة ، وماذا إذا تبعيات أنفسهم التبعيات وهذا يمكن أن تصبح بسرعة كبيرة وهو ما يشكل كابوسا الادارة كائن! دخول الحاويات حقن التبعية (أو الأطر)...
مواصلة القراءة 'DI symfony على البدء السريع (حقن التبعية) درس' »
















































