public function testWithCache() { $this->assertFileNotExists($this->tmpDir); $this->assertSame($this->builder, $this->builder->setCacheDir($this->tmpDir)); $serializer = $this->builder->build(); $this->assertFileExists($this->tmpDir); $this->assertFileExists($this->tmpDir . '/annotations'); $this->assertFileExists($this->tmpDir . '/metadata'); $factory = $this->getField($serializer, 'factory'); $this->assertAttributeSame(false, 'debug', $factory); $this->assertAttributeNotSame(null, 'cache', $factory); }
/** * @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(); }