コード例 #1
0
ファイル: PersistentEventStore.php プロジェクト: rtens/ucdi
 public function __construct($file, \DateTimeImmutable $now = null)
 {
     $this->now = $now ?: new \DateTimeImmutable();
     $this->key = basename($file);
     $types = new TypeFactory();
     $registry = new SerializerRegistry();
     $registry->add(new ClassSerializerFactory(Event::class, new EventSerialilzer($registry, $types)));
     FileStore::registerDefaultSerializers($registry);
     $reflector = new Reflector(EventStream::class, $registry, $types);
     $serializer = $reflector->create(JsonSerializer::$CLASS);
     $this->store = new FileStore($serializer, dirname($file));
 }
コード例 #2
0
ファイル: EventSerialilzer.php プロジェクト: rtens/ucdi
 private function getSerializer($class)
 {
     $reflector = new Reflector($class, $this->registry, $this->types);
     return $reflector->create(GenericSerializer::$CLASS);
 }