Symfony欧宝娱乐app下载地址 4.3的新功能:用于Messenger的原生PHP序列化
2019年3月15日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony版本。欧宝娱乐app下载地址有些信息可能已经过时了。阅读最新的Symfony文档欧宝娱乐app下载地址.
在Sy欧宝娱乐app下载地址mfony 4.2中,通讯组件使用序列化器组件将消息序列化为JSON,然后将其反序列化。这就产生了一些问题:
- 默认的序列化器要求你有getter和setter方法(或公共属性)来序列化它们。这使得数据很容易消失。
- 此外,强制的getter /setter(以及没有必要的构造函数参数)迫使您围绕此设计消息类。
我们这样做的最初原因是我们可以导出“通用JSON”,以防止我们希望其他工作者使用消息,无论他们是否使用Symfony、PHP或任何其他编程语言和技术。欧宝娱乐app下载地址然而,这不是常见的用例,它不必要地使事情复杂化。
在Sy欧宝娱乐app下载地址mfony 4.3中,我们通过将序列化切换到名为PhpSerializer
哪个使用PHP的原生serialize ()
而且unserialize ()
将消息序列化到传输。
如果你想继续使用之前的JSON序列化器(或你自己的自定义序列化器服务),配置如下:
1 2 3 4 5 6
#配置/包/ messenger.yaml框架:信使:序列化器:#用于序列化消息的服务的IDid:“messenger.transport.欧宝娱乐app下载地址symfony_serializer”
发表在#生活在边缘
评论
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
很高兴看到Messenger组件成熟!