/** * Тест сериализации/десериализации */ public function test_saveRestore() { $reg = Registry::getInstance()->drop(); $obj = new \stdClass(); $obj->publicVar = 'some value'; $reg->set('savedObject', $obj)->set('some', 'single value')->set('arr', [1, 3]); $serializedValue = serialize($reg); $reg = unserialize($serializedValue); $serializeExpect = 'C:19:"kira\\utils\\Registry":141:{a:3:{s:11:"savedObject";O:8:"stdClass":1:{s:9:"publicVar";' . 's:10:"some value";}s:4:"some";s:12:"single value";s:3:"arr";a:2:{i:0;i:1;i:1;i:3;}}}'; $this->assertEquals($serializeExpect, $serializedValue, 'Сериализованный реестр'); $this->assertEquals('some value', $reg->savedObject->publicVar, 'Чтение свойства класса после десериализации'); $this->assertEquals('single value', $reg->some, 'Чтение простого значения после десериализации'); $this->assertEquals([1, 3], $reg->arr, 'Чтение массива после десериализации'); }
/** * Обращение к реестру * * Это просто обертка для вызова метода. Возможно в клиентском коде ее удобнее читать. * * @return Registry */ public static function registry() { return Registry::getInstance(); }