Phalcon 3 - Di

فئة Phalcon \ Di




phalcon

تنفذ Phalcon\DiInterface ، ArrayAccess

المصدر على جيثب

Phalcon \ Di هو أحد المكونات التي تنفذ موقع Dependency للحقن / الخدمة للخدمات وهو بحد ذاته حاوية لهم.

بما أن Phalcon مفصولة إلى حد كبير ، فإن Phalcon \ Di ضروري لدمج المكونات المختلفة للإطار. يمكن للمطور أيضًا استخدام هذا المكون لإدراج التبعيات وإدارة المثيلات العامة للفئات المختلفة المستخدمة في التطبيق.

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

بالإضافة إلى ذلك ، يزيد هذا النمط من قابلية الاختبار في الشفرة ، مما يجعله أقل عرضة للأخطاء.

use Phalcon\Di;
use Phalcon\Http\Request;

$di = new Di();

// Using a string definition
$di->set("request", Request::class, true);

// Using an anonymous function
$di->setShared(
    "request",
    function () {
        return new Request();
    }
);

$request = $di->getRequest();

أساليب

عامة __construct ()

Phalcon \ Di constructor

public setInternalEventsManager ( Phalcon\Events\ManagerInterface $ eventsManager)

يضبط مدير الحدث الداخلي

public getInternalEventsManager ()

إرجاع مدير الحدث الداخلي

مجموعة عامة (اسم $ مختلط ، تعريف $ مختلط ، [مشترك $ مشترك])

يسجل خدمة في حاوية الخدمات

عامة setShared (اسم $ مختلط ، تعريف $ مختلطة )

يسجل خدمة "مشتركة دائمًا" في حاوية الخدمات

إزالة عامة (اسم $ مختلط )

إزالة خدمة في حاوية الخدمات كما يقوم أيضًا بإزالة أي مثيل مشترك تم إنشاؤه للخدمة

محاولة عامة (اسم $ مختلط ، تعريف $ مختلط ، [مشترك $ مشترك])

محاولات تسجيل خدمة في حاوية الخدمات لا ينجح إلا إذا لم يتم تسجيل خدمة مسبقًا بنفس الاسم

setRaw عام (اسم $ مختلط ، Phalcon Phalcon\Di\ServiceInterface $ rawDefinition)

يضبط خدمة باستخدام تعريف Phalcon \ Di \ Service الخام

getRaw العام (اسم $ مختلط )

لعرض تعريف الخدمة بدون حل

خدمة getService العامة (اسم $ مختلط )

إرجاع مثيل Phalcon \ Di \ Service

اكتساب الجمهور (الاسم المختلط $ ، [معلمات $ مختلطة ])

يحل الخدمة على أساس تكوينها

getShared العامة المختلطة ( string $ name، [ array $ parameters])

حل خدمة ، يتم تخزين الخدمة التي تم حلها في DI ، وستقوم الطلبات اللاحقة لهذه الخدمة بإرجاع نفس المثيل

عام لديه (اسم $ مختلط )

تحقق ما إذا كان DI يحتوي على خدمة بواسطة اسم

كان عامًاالرائعاستراتيجية ()

تحقق مما إذا كانت الخدمة الأخيرة التي تم الحصول عليها عن طريق getShared قد تم إنتاجها على مثيل جديد أو موجودة بالفعل

getServices العامة ()

إعادة الخدمات المسجلة في DI

عامة offsetExists (اسم $ مختلط )

تحقق مما إذا كانت الخدمة مسجلة باستخدام بناء جملة الصفيف

offsetSet العامة (اسم $ مختلط ، تعريف $ مختلطة )

يسمح بتسجيل خدمة مشتركة باستخدام بناء جملة الصفيف

$di["request"] = new \Phalcon\Http\Request();

public offsetGet (اسم $ مختلط )

يسمح بالحصول على خدمة مشتركة باستخدام بناء جملة الصفيف

var_dump($di["request"]);

public offsetUnset (اسم $ مختلط )

إزالة خدمة من حاوية الخدمات باستخدام بناء جملة الصفيف

public __call (طريقة $ مختلطة ، [حجج $ مختلطة ])

طريقة السحر للحصول على أو تعيين الخدمات باستخدام setters / getters

public static setDefault ( Phalcon\DiInterface $ dependencyInjector)

تعيين حاوية حقن التبعية الافتراضية ليتم الحصول عليها في أساليب ثابتة

getDefault ثابت عام ()

عودة أحدث DI إنشاؤه

إعادة تعيين ثابت عام ()

إعادة تعيين الافتراضي الافتراضي DI