protected function registerCustomHandlers(SerializerBuilder $serializer, array $handlers) { foreach ($handlers as $handler) { $serializer->configureHandlers(function (HandlerRegistry $registry) use($handler) { $registry->registerSubscribingHandler(new $handler()); }); } }
/** * @param array $config * @param bool $debug * * @return Serializer */ protected function createSerializer(array $config, $debug) { $builder = new SerializerBuilder(); if (isset($config['cache_dir'])) { $builder->setCacheDir($config['cache_dir']); } if (isset($config['default_handlers'])) { $builder->addDefaultHandlers(); } if (isset($config['handlers'])) { foreach ($config['handlers'] as $handler) { $builder->configureHandlers($handler); } } if (isset($config['event_listeners'])) { foreach ($config['event_listeners'] as $handler) { $builder->configureListeners($handler); } } $builder->addMetadataDirs(array_get($config, 'paths', [base_path('app')])); $builder->setDebug($debug); return $builder->build(); }
public function testDoesNotAddDefaultHandlersWhenExplicitlyConfigured() { $this->assertSame($this->builder, $this->builder->configureHandlers(function (HandlerRegistry $registry) { })); $this->assertEquals('{}', $this->builder->build()->serialize(new \DateTime('2020-04-16'), 'json')); }
/** * Registers handlers for the xAPI models on a SerializerBuilder. * * @param SerializerBuilder $builder The SerializerBuilder */ public static function registerXApiHandler(SerializerBuilder $builder) { $builder->configureHandlers(function (HandlerRegistryInterface $handlerRegistry) { $handlerRegistry->registerSubscribingHandler(new DocumentDataUnwrapper()); }); }
/** * @inheritdoc */ protected function configureBuilder(SerializerBuilder $builder) { $builder->configureHandlers(function (HandlerRegistryInterface $registry) { $registry->registerSubscribingHandler(new VectorHandler()); }); }