/** * Get registry container * * @return \Phrozn\Registry\Container */ public function getRegistryContainer() { if (null === $this->registryContainer) { $dao = new RegistryDao(); $dao->setProjectPath($this->getProjectPath())->setOutputFile('.bundles'); $this->registryContainer = new RegistryContainer($dao); $this->registryContainer->read(); //(re)read container values } else { // update project path $this->registryContainer->getDao()->setProjectPath($this->getProjectPath()); } return $this->registryContainer; }
public function testSaveRead() { $path = dirname(__FILE__) . '/../project/'; $container = new Container(); $container->set('bundle', 'test.me'); $container->set('template', array(1, 2, 3)); $dao = new Dao($container); $dao->setProjectPath($path); @unlink($path . '/.phrozn/.registry'); $this->assertFalse(file_exists($path . '/.phrozn/.registry')); $dao->save(); $this->assertTrue(file_exists($path . '/.phrozn/.registry')); $this->assertSame(file_get_contents(dirname(__FILE__) . '/../project/registry.serialized'), file_get_contents($path . '/.phrozn/.registry')); // test read unset($container); $container = new Container($dao); $this->assertNull($container->get('bundle')); $this->assertNull($container->get('template')); $container->read(); $this->assertSame('test.me', $container->get('bundle')); $this->assertSame(array(1, 2, 3), $container->get('template')); @unlink($path . '/.phrozn/.registry'); }
/** * (Re)read current container from DAO * * @return \Phrozn\Registry\Container */ public function read() { parent::read(); $this->init(); // re-initialize container return $this; }
public function testSaveWithImplicitDao() { $path = dirname(__FILE__) . '/project'; $container = new Container(); $this->assertInstanceOf('Phrozn\\Registry\\Dao', $container->getDao()); $container->getDao()->setProjectPath($path); $this->assertSame($path . '/.phrozn', $container->getDao()->getProjectPath()); $container->set('bundle', 'test.me')->set('template', array(1, 2, 3)); @unlink($path . '/.phrozn/.registry'); $this->assertFalse(file_exists($path . '/.phrozn/.registry')); $container->save(); $this->assertTrue(file_exists($path . '/.phrozn/.registry')); $this->assertSame(file_get_contents($path . '/registry.serialized'), file_get_contents($path . '/.phrozn/.registry')); unset($container); $container = new Container(); $container->getDao()->setProjectPath($path); $this->assertNull($container->get('bundle')); $this->assertNull($container->get('template')); $container->read(); $this->assertSame('test.me', $container->get('bundle')); $this->assertSame(array(1, 2, 3), $container->get('template')); }