新在Symfoob娱乐下载ny 5.2: Uid序列化和验证
2020年10月6日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony的版本。ob娱乐下载其中一些信息可能是过时了。阅读最近的Symfony文档ob娱乐下载。
的ob娱乐下载Symfony Uid组件提供工具来生成和使用uuid和ULIDs等独特的标识。在Syob娱乐下载mfony 5.2我们改善其与其余的集成框架。在以前的一篇文章中,我们展示了新的学说类型UUID和ULID这篇文章显示了与序列化器和验证组件集成。
Uid标准化者
ob娱乐下载Symfony 5.2引入了一个新的UidNormalizer
类应该可以正常/正规化属性UUID和ULID值。
考虑例如以下实体与一个UUID属性:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/ / src /实体/ Product.php名称空间应用程序\实体;使用学说\ORM\映射作为ORM;/ * * *@ORM实体(repositoryClass = \ App \ Repository \ ProductRepository) * /类产品{/ * * *@ORM\列(type = " uuid) * /私人美元id;/ /……}
由于新的Uid标准化者(在缺省情况下是启用的,所以你不需要改变任何东西在您的应用程序)预计这个实体自动序列化和反序列化:
1 2 3
美元产品=新产品();美元jsonContent=美元序列化器- >序列化(美元产品,json的);/ / $ jsonContent包含{" id ":“9 b7541de-6f87-11ea-ab3c-9da9a81562fc”,“……”:“……”}
Ulid验证
ob娱乐下载Symfony包括自2014年以来一个UUID验证器验证UUID的值类型1到5。
从5.2 Symfony开始ob娱乐下载,它还将包括一个Ulid
验证约束验证ULID值:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
/ / src /实体/ Product.php名称空间应用程序\实体;使用学说\ORM\映射作为ORM;使用ob娱乐下载\组件\验证器\约束作为断言;/ * * *@ORM实体(repositoryClass = \ App \ Repository \ ProductRepository) * /类产品{/ * * *@ORM\列(type = " ulid ") *@Assert\ Ulid * /私人美元someProperty;/ /……}
最终所做的改进尼古拉斯Grekas在把请求# 38332更新现有的UUID验证器也验证UUIDv6值。
发表在#生活在边缘
评论
约旦de Laune
2020年10月6日说在09:20
# 1
谢谢。就好了如果我们可以配置如何正常化正常化。如Rfc4122、Base32 Base58。
尼古拉斯Grekas
2020年10月6日说在10:04
# 2
@Jordan发送公关这样做你介意吗?或者至少打开一个问题吗?谢谢!
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。