예제 #1
0
 /**
  * @param Zend\Di\DefinitionList|null $definitions
  * @param Magento_Di_InstanceManager|null $instanceManager
  * @param Zend\Di\Config|null $config
  * @param string|null $definitionsFile
  * @return Magento_Di_Zend
  */
 public function __construct(Zend\Di\DefinitionList $definitions = null, Magento_Di_InstanceManager $instanceManager = null, Zend\Di\Config $config = null, $definitionsFile = null)
 {
     if (is_null($definitions)) {
         if (is_string($definitionsFile) && is_file($definitionsFile) && is_readable($definitionsFile)) {
             $definitionProvider = new Magento_Di_Definition_ArrayDefinition_Zend(unserialize(file_get_contents($definitionsFile)));
         } else {
             $definitionProvider = new Magento_Di_Definition_RuntimeDefinition_Zend();
         }
         $definitions = new Magento_Di_DefinitionList_Zend($definitionProvider);
     }
     $instanceManager = $instanceManager ?: new Magento_Di_InstanceManager_Zend();
     parent::__construct($definitions, $instanceManager, $config);
     $this->setInstanceManager($instanceManager);
 }