Ejemplo n.º 1
0
 public function testGetComponent()
 {
     $yadif = new Yadif_Container();
     $yadif->addComponent("stdClass");
     $expected = array("stdclass" => array("class" => "stdClass", "arguments" => array(), 'params' => array(), 'scope' => Yadif_Container::SCOPE_SINGLETON, 'methods' => array()));
     $this->assertEquals($expected, $yadif->getContainer());
 }
Ejemplo n.º 2
0
 /**
  * Merge two Containers
  *
  * @todo   Handle duplicates, currently array_merge overwrites them
  * @param  Yadif_Container $container
  * @return Yadif_Container
  */
 public function merge(Yadif_Container $container)
 {
     $this->_container = array_merge($this->_container, $container->getContainer());
     $this->_instances = array_merge($this->_instances, $container->getInstances());
     $otherConfig = $container->getConfig();
     $ownConfig = $this->getConfig();
     if ($otherConfig instanceof Zend_Config) {
         if ($ownConfig == null) {
             $this->setConfig($otherConfig);
         } else {
             if ($ownConfig->readOnly() == true) {
                 $this->setConfig(new Zend_Config(array_merge($ownConfig->toArray(), $otherConfig->toArray())));
             } else {
                 $this->setConfig($ownConfig->merge($otherConfig));
             }
         }
     }
     return $this;
 }