新在Symfo欧宝娱乐app下载地址ny 5.2:限制PHP属性
2020年10月20日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony的版本。欧宝娱乐app下载地址其中一些信息可能是过时了。阅读最近的Symfony文档欧宝娱乐app下载地址。
提供的
亚历山大·m·图雷克
在# 38309和# 38499。
PHP 8将在几周后发布,它将包括一个改变游戏规则的功能称为属性(或注解)。在Sy欧宝娱乐app下载地址mfony 5.2中我们添加了支持定义路线作为属性和控制器参数作为属性。
约束似乎是下一个明显的步骤,这就是为什么欧宝娱乐app下载地址Symfony PHP 5.2可以定义验证约束属性。无缝过渡设计:
之前通过PHP评论和教义注释库,使用注释:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/ / src /实体/ Author.php名称空间应用程序\实体;/ /……使用欧宝娱乐app下载地址\组件\验证器\约束作为断言;类作者{/ * * *@Assert\选择(*选择={“小说”,“非小说”},*消息=“选择一个有效的类型。”* ) */私人美元类型;/ /……}
后,使用本机PHP 8属性:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/ / src /实体/ Author.php名称空间应用程序\实体;/ /……使用欧宝娱乐app下载地址\组件\验证器\约束作为断言;类作者{#[断言\选择(选择:[“小说”,“非小说”)信息:“选择一个有效的类型。”,)私人美元类型;/ /……}
大多数约束已经被更新,这样你就可以使用它们作为注释和属性。然而,下面的复合约束不能使用属性:
所有
AtLeastOneOf
集合
复合
(抽象)存在
(抽象)要求
可选
按顺序
原因是他们需要嵌套的属性和PHP不支持该特性。我们还在讨论这个问题的最佳解决方案。考虑加入讨论问题# 38503。
发表在#生活在边缘
评论
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。
Javier Eguiluz is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now