function testSaveRestore() { lmbRegistry::set('Foo', 'foo'); lmbRegistry::save('Foo'); $this->assertEqual(lmbRegistry::get('Foo'), null); lmbRegistry::set('Foo', 'bar'); $this->assertEqual(lmbRegistry::get('Foo'), 'bar'); lmbRegistry::save('Foo'); $this->assertEqual(lmbRegistry::get('Foo'), null); lmbRegistry::set('Foo', 'baz'); $this->assertEqual(lmbRegistry::get('Foo'), 'baz'); lmbRegistry::restore('Foo'); $this->assertEqual(lmbRegistry::get('Foo'), 'bar'); lmbRegistry::restore('Foo'); $this->assertEqual(lmbRegistry::get('Foo'), 'foo'); }
/** * Save current tools object in registry stack and creates a new one using currently saved empty copy of tools object * @see lmbRegistry :: save() * @return lmbToolkit The only instance of lmbToolkit class */ static function save() { $toolkit = lmbToolkit::instance(); $tools = $toolkit->_tools; $tools_copy = array(); foreach ($toolkit->_tools as $tool) { $tools_copy[] = clone $tool; } lmbRegistry::set('__tools' . $toolkit->_id, $tools); lmbRegistry::save('__tools' . $toolkit->_id); $toolkit->setTools($tools_copy); lmbRegistry::set('__props' . $toolkit->_id, $toolkit->export()); lmbRegistry::save('__props' . $toolkit->_id); return $toolkit; }