Question

I always see objectmanager instantiated by objectmanagerinterface. But I never found di.xml that have preference of objectmanagerinterface to objectmanager.

Is it something I have never found? Or is objectmanager some special object that doesn't need di.xml?

Was it helpful?

Solution

Refer to this line from the object manager class:

https://github.com/magento/magento2/blob/2.3-develop/lib/internal/Magento/Framework/ObjectManager/ObjectManager.php#L44

There is somewhere (not sure exactly where), but really early in the application a call to instantiate the Object manager class (not referred via interface), and when the OM gets instantiated it adds the mapping from the interface to itself.

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top