本文整理匯總了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);
}
}