public function testGetOnAllInstancesOfDepencyInjectorYieldTheSameResults()
 {
     $interface = 'zibo\\core\\di\\TestInterface';
     $token = 'test';
     $construct = new DependencyCall('__construct');
     $construct->addArgument(new DependencyCallArgument('value', $token));
     $dependency = new Dependency('zibo\\core\\di\\TestObject');
     $dependency->addCall($construct);
     $container = new DependencyContainer();
     $container->addDependency($interface, $dependency);
     $this->di->setContainer($container);
     for ($i = 0; $i < 3; $i++) {
         $di = new DependencyInjector();
         $instance = $di->get($interface);
         $this->assertEquals($token, $instance->getToken());
     }
 }
예제 #2
0
 /**
  * Gets the session container
  * @return zibo\library\http\session\Session
  */
 public function getSession()
 {
     if (!isset($this->session)) {
         $di = new DependencyInjector();
         $this->session = $di->getDependency(self::INTERFACE_SESSION);
     }
     return $this->session;
 }