Symfonyob娱乐下载 5.1新增功能:OptionsResolver改进
2020年5月15日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
的OptionsResolver组件帮助您使用选项数组配置对象。在Syob娱乐下载mfony 5.1中,我们使用以下特性对其进行了改进。
连贯接口
提供的
洛伦佐Millucci
在# 33848.
为每个选项配置几个特性(允许的类型、默认值、是否需要等等)是很常见的定义()
方法,您可以使用一个流畅接口来配置关于一个选项的所有内容,而无需在不同的方法中重复其名称:
1 2 3 4 5 6 7 8 9 10
/ /之前$解析器->setRequired (“主机”);$解析器->setDefaults ([“主机”= >“smtp.example.org”]);$解析器->setAllowedTypes (“主机”,“字符串”);/ /后$解析器->定义(“主机”)->要求()->默认的(“smtp.example.org”)->allowedTypes (“字符串”);
选项调试信息
提供的
Yonel Ceruto
在# 35400.
有时,一个选项的名称或它的高度动态特性使人们很难理解Symfony生成的错误消息。ob娱乐下载这就是为什么在Symfonyob娱乐下载 5.1中我们引入了一个新的方法来改善DX(开发者体验),允许你为选项添加描述/帮助/调试消息。
假设你定义了一个datetime选项,它的值必须是将来的值:
1 2 3
$解析器->setAllowedValues (“scheduledAt”,静态函数($价值):保龄球{返回$价值> =新\ DateTime (“现在”);});
这是Symfony在这种情况下显示的标准错误消息:ob娱乐下载
1
带有DateTime值的scheduledAt选项无效。
但是,如果您添加信息()
或setInfo ()
方法:
1 2 3 4 5 6 7
//使用传统语法$解析器->setInfo (“scheduledAt”,“那一定是将来的某个日子。”);//使用流畅接口$解析器->定义(“scheduledAt”)/ /……->信息(“那一定是将来的某个日子。”);
现在显示的错误信息是:
1 2
带有DateTime值的scheduledAt选项无效。信息:它必须是未来的一个日期。
发表在#生活在边缘
评论
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
Cristoforo Cervino is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now