سؤال

أنا عالق في خادم PHP 4، وأود أن أبدأ في نقل مشروع قديم إلى أنماط التصميم الحديثة، بما في ذلك حقن التبعية.هل هناك أي أطر عمل لحقن التبعية ستعمل مع PHP 4؟

هل كانت مفيدة؟

المحلول

وجدت هذا (بالتنقيط)، ولكن يبدو أنه لم يتم تحديثه منذ بضع سنوات.

نصائح أخرى

تستخدم معظم أطر حقن التبعيات الانعكاس لتحديد التبعيات.نظرًا لأن PHP4 لا يحتوي على تلميحات، فلا يمكنك فعل ذلك حقًا.تم إجراء تجارب باستخدام ملفات التكوين - في بعض الأحيان يتم تضمينها في التعليقات في الكود (غالبًا ما تسمى التعليقات التوضيحية).بينما يعمل هذا، أجد أنه عالي الكعب بعض الشيء.في رأيي، من الأفضل استخدام الطبيعة الديناميكية لـ PHP لصالحك، بدلاً من محاولة تطبيق الحلول المكتوبة بشكل ثابت عليها.يمكنك قطع شوط طويل مع المصانع المصنوعة يدويًا.انظر على سبيل المثال هذا المنصب على كيفية.

لا أعتقد أن إطار عمل حقن التبعية سيعمل حقًا على PHP نظرًا للطريقة التي يتم بها تنظيم البرامج الموجهة للكائنات.أولاً، الأمر ليس مثل C# أو Java حيث توجد الثنائيات بالفعل وعليك فقط العثور على طريقة لإنشاء مثيل لهذا الكائن وإدخاله في كائن آخر.يتعين على PHP تحميل ملفات الفصل وتفسيرها قبل أن تتمكن من استخدامها.لذا، إذا كان لديك تسلسلات هرمية عميقة للميراث باستخدام PHP، فلا أعتقد أن هذه فكرة جيدة.

نظرًا لأن PHP هي لغة برمجة نصية، فمن الأفضل الاستفادة منها كلغة برمجة نصية.مما يعني أنني سأستفيد فقط من أساليب المصنع أو البناء البسيطة للقيام بشيء مشابه لحقن التبعية.لن أثقل كاهلها بإطار عمل DI الذي سيضيف فقط إلى الأشياء التي يجب على وقت تشغيل PHP معالجتها لكل طلب ويب (ما لم تقم بالتخزين المؤقت لشفرة التشغيل، ولكن سيظل هناك حمل إضافي لا تتكبده منصات الويب لـ Java و. شبكة).إذا اضطررت إلى تغيير الكائنات التي سيتم إدخالها في الكائنات أو كيفية إنشائها، فسيكون من السهل تحرير البرنامج النصي الذي يحتوي على أساليب المصنع/الباني.ليست هناك حاجة لإعادة ترجمة هناك على أي حال.لذلك لدي المرونة ولدي بنية خفيفة الوزن مناسبة لطريقة PHP للقيام بالأشياء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top