Пример #1
0
 /**
  * {@inheritdoc}
  */
 public function deserialize(string $state) : Serializable
 {
     $data = json_decode($state, true);
     $keys = ['@', '$'];
     foreach ($keys as $key) {
         if (!isset($data[$key])) {
             $message = sprintf('Invalid serialization format: %s', $state);
             throw new DomainException($message);
         }
     }
     $class = ClassName::full($data['@']);
     assert(Validate::implementsInterface($class, Serializable::class), sprintf('Unable to deserialize: %s', $class));
     return $class::deserialize($data['$']);
 }
Пример #2
0
 /**
  * Retrieves the full class name
  *
  * @return string
  */
 public function toClassName() : string
 {
     return ClassName::full($this->name);
 }
Пример #3
0
 /**
  * @expectedException \Novuso\System\Exception\TypeException
  */
 public function test_that_full_throws_exception_for_invalid_argument_type()
 {
     ClassName::full(null);
 }