Используя JMSSerializerBundle v3.0.0 , я выяснил, как использовать apcu-кэширование для аннотаций и метаданных при создании нового сериализатора из SerializerBuilder::create()
.
use Doctrine\Common\Annotations\AnnotationReader;
use Doctrine\Common\Annotations\CachedReader;
use JMS\Serializer\SerializerBuilder;
public function createSerializer()
{
$cache = new ApcuCache();
return SerializerBuilder::create()
->setPropertyNamingStrategy(new SerializedNameAnnotationStrategy(new IdenticalPropertyNamingStrategy()))
->addDefaultHandlers()
->setAnnotationReader(new CachedReader(new AnnotationReader(), $cache, false))
->setMetadataCache(new DoctrineCacheAdapter('JMS_METADATA_', $cache))
->build();
}
Но я могу 'не найти способ сделать это для зависимого введенного сериализатора.В документации упоминается:
metadata:
cache: file
, но ничего не сказано о настройке его в apcu cache и ничего о пользовательском кэшированном считывателе аннотаций.
Кто-нибудь уже реализовал это?