Symfonyob娱乐下载 4.1新增功能:在表单中添加了对不可变日期的支持
2018年2月7日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
的DateTimeImmutable类在PHP 5.5中引入。它提供了相同的APIDateTime
,但当呼唤它的时候修改()
或设置* ()
方法,它返回一个newDateTimeImmutable
对象使其不更改原始值。
在最近的Symfonob娱乐下载y版本中,我们在框架的几个部分添加了对不可变日期的支持。在Syob娱乐下载mfony 4.1中,我们完成了来自社区的长期请愿欧宝体育平台怎么样在Symfony Forms中添加对不可变日期的支持ob娱乐下载.
类构建表单时DateTimeType,DateType或TimeType字段,设置输入
新的选项datetime_immutable
值:
1 2 3 4 5
使用ob娱乐下载\组件\形式\扩展\核心\类型\DateTimeType;$构建器->add (“startsAt”, DateTimeType::类,数组(“输入”= >“datetime_immutable”));
现在你可以设置DateTimeImmutable
对象作为该字段的值,当表单提交并且有效时,您将得到一个DateTimeImmutable
对象返回用户设置的新值。
发表在#生活在边缘
评论
Valentin Udaltsov
2018年2月11日说在22
为那些想要使用Symfony >=2.8特性的人创建了一个polyfill bundleob娱乐下载
Valentin Udaltsov
2018年2月11日说在22
ruwork / polyfill-form-dti-bundle
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
但是创建一个DateTimeImmutableType而不是一个基本元素(字符串)开关不是更好吗?
或者更好的'immutable' => bool,作为支持不可变DTO和其他东西的选项?(没有input_immutable,因为输入和输出都是不可变的)。
Vlad Riabchenko is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now“input”选项中的新值比新的“immutable”选项或新Type更好,因为“input”选项与“string”,“datetime”等一起指示了模型对象中的底层数据类型。
因此'input'选项中的'datetime_immutable'是一个一致的解决方案。