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()); } }
/** * 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; }