本文整理汇总了PHP中JMS\Serializer\SerializerBuilder::setSerializationVisitor方法的典型用法代码示例。如果您正苦于以下问题:PHP SerializerBuilder::setSerializationVisitor方法的具体用法?PHP SerializerBuilder::setSerializationVisitor怎么用?PHP SerializerBuilder::setSerializationVisitor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JMS\Serializer\SerializerBuilder
的用法示例。
在下文中一共展示了SerializerBuilder::setSerializationVisitor方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setSerializationVisitors
/**
* Override default serialization vistors
*
* @param Container $app
* @param SerializerBuilder $serializerBuilder
*/
protected function setSerializationVisitors(Container $app, SerializerBuilder $serializerBuilder)
{
$serializerBuilder->addDefaultSerializationVisitors();
foreach ($app["serializer.serializationVisitors"] as $format => $visitor) {
$serializerBuilder->setSerializationVisitor($format, $visitor);
}
}
示例2: configure
public function configure(SerializerBuilder $builder)
{
return $builder->setSerializationVisitor('array', new ArraySerialize(new SerializedNameAnnotationStrategy(new CamelCaseNamingStrategy())))->setDeSerializationVisitor('array', new ArrayDeserialize(new SerializedNameAnnotationStrategy(new CamelCaseNamingStrategy())))->configureHandlers(function (HandlerRegistry $handlers) {
$handlers->registerHandler('serialization', 'Rhumsaa\\Uuid\\Uuid', 'array', function ($visitor, Uuid $id, array $type) {
return (string) $id;
});
$handlers->registerHandler('deserialization', 'Rhumsaa\\Uuid\\Uuid', 'array', function ($visitor, $id, array $type) {
return \Rhumsaa\Uuid\Uuid::fromString($id);
});
$handlers->registerHandler('serialization', 'DateTime', 'array', function ($visitor, DateTime $date, array $type) {
return $date->format(DateTime::ISO8601);
});
$handlers->registerHandler('deserialization', 'DateTime', 'array', function ($visitor, $date, array $type) {
return DateTime::createFromFormat(DateTime::ISO8601, $date);
});
$handlers->registerSubscribingHandler(new Generic());
})->addDefaultHandlers()->addDefaultListeners();
}
示例3: testDoesNotAddOtherVisitorsWhenConfiguredExplicitly
/**
* @expectedException JMS\Serializer\Exception\UnsupportedFormatException
* @expectedExceptionMessage The format "xml" is not supported for serialization.
*/
public function testDoesNotAddOtherVisitorsWhenConfiguredExplicitly()
{
$this->assertSame($this->builder, $this->builder->setSerializationVisitor('json', new JsonSerializationVisitor(new CamelCaseNamingStrategy())));
$this->builder->build()->serialize('foo', 'xml');
}
示例4: setSerializationVisitors
/**
* Override default serialization visitors
*
* @param Application $app
* @param SerializerBuilder $serializerBuilder
*/
protected function setSerializationVisitors(Application $app, SerializerBuilder $serializerBuilder)
{
$serializerBuilder->addDefaultSerializationVisitors();
foreach ($app['serializer.serializationVisitors'] as $format => $visitor) {
$serializerBuilder->setSerializationVisitor($format, $visitor);
}
}