新在Symfoob娱乐下载ny 6.1:序列化器上下文建筑商
2022年4月27日·发表的哈维尔Eguiluz
提供的
马赛厄斯Arlaud
在# 43973。
的序列化器组件将允许您传递一些上下文信息流程进行序列化和反序列化。例如,序列化时忽略某些属性,您可以使用下面的代码:
1 2 3 4
美元序列化器- >序列化(美元人,json的,(“ignored_attributes”= > [“年龄”]]);/ /ob娱乐下载 Symfony还定义了公共常量名称的上下文选项美元序列化器- >序列化(美元人,json的,(AbstractNormalizer::IGNORED_ATTRIBUTES = > [“年龄”]]);
在Syob娱乐下载mfony 6.1我们改善序列化的定义上下文的引入环境工程师。而不是处理普通数组,这些对象允许您定义上下文中使用连贯接口提供自动完成,验证和文档。欧宝官网下载app
如本例所示,您可以混合数组和施工对象和它们之间甚至可以合并这些上下文对象:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
使用ob娱乐下载\组件\序列化器\上下文\编码器\CsvEncoderContextBuilder;使用ob娱乐下载\组件\序列化器\上下文\标准化者\ObjectNormalizerContextBuilder;美元initialContext= (“custom_key”= >“custom_value”,);美元contextBuilder= (新ObjectNormalizerContextBuilder ())- >withContext (美元initialContext)- >withGroups ([“group1”,“group2”]);美元contextBuilder= (新CsvEncoderContextBuilder ())- >withContext (美元contextBuilder)- >withDelimiter (“;”);美元序列化器- >序列化(美元的东西,“csv”,美元contextBuilder- >toArray ());
如果你需要上下文作为普通数组(如通过它serialize ()
方法调用toArray ()
方法:
1
美元这- >序列化器- >序列化(美元数据,“csv”,美元contextBuilder- >toArray ());
在构建自己的背景下构建器,考虑使用ob娱乐下载
重用一些常见的方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/ / src /序列化器/ LegacyContextBuilder名称空间应用程序\序列化器;使用ob娱乐下载\组件\序列化器\上下文\ContextBuilderInterface;使用ob娱乐下载\组件\序列化器\上下文\ContextBuilderTrait;最后类LegacyContextBuilder实现了ContextBuilderInterface{使用ContextBuilderTrait;公共函数withNullableDates(保龄球美元可以为空= true):静态{返回美元这- >(“zero_datetime_to_null”,美元可以为空);}}/ /现在可以使用这种背景下构建器如下:/ / $上下文=(新LegacyContextBuilder ()) - > withNullableDates ();
发表在#生活在边缘
评论
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。