本文整理汇总了PHP中JMS\Serializer\Serializer::setSerializationContextFactory方法的典型用法代码示例。如果您正苦于以下问题:PHP Serializer::setSerializationContextFactory方法的具体用法?PHP Serializer::setSerializationContextFactory怎么用?PHP Serializer::setSerializationContextFactory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JMS\Serializer\Serializer
的用法示例。
在下文中一共展示了Serializer::setSerializationContextFactory方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: build
public function build()
{
$annotationReader = $this->annotationReader;
if (null === $annotationReader) {
$annotationReader = new AnnotationReader();
if (null !== $this->cacheDir) {
$this->createDir($this->cacheDir . '/annotations');
$annotationsCache = new FilesystemCache($this->cacheDir . '/annotations');
$annotationReader = new CachedReader($annotationReader, $annotationsCache, $this->debug);
}
}
$metadataDriver = $this->driverFactory->createDriver($this->metadataDirs, $annotationReader);
$metadataFactory = new MetadataFactory($metadataDriver, null, $this->debug);
$metadataFactory->setIncludeInterfaces($this->includeInterfaceMetadata);
if (null !== $this->cacheDir) {
$this->createDir($this->cacheDir . '/metadata');
$metadataFactory->setCache(new FileCache($this->cacheDir . '/metadata'));
}
if (!$this->handlersConfigured) {
$this->addDefaultHandlers();
}
if (!$this->listenersConfigured) {
$this->addDefaultListeners();
}
if (!$this->visitorsAdded) {
$this->addDefaultSerializationVisitors();
$this->addDefaultDeserializationVisitors();
}
$serializer = new Serializer($metadataFactory, $this->handlerRegistry, $this->objectConstructor ?: new UnserializeObjectConstructor(), $this->serializationVisitors, $this->deserializationVisitors, $this->eventDispatcher);
if (null !== $this->serializationContextFactory) {
$serializer->setSerializationContextFactory($this->serializationContextFactory);
}
if (null !== $this->deserializationContextFactory) {
$serializer->setDeserializationContextFactory($this->deserializationContextFactory);
}
return $serializer;
}