Contributed by
Valentin Udaltsov
in #25582.
DateTimeImmutable 类 打从 PHP 5.5 引入。它提供了和 DateTime 相同的API,但当它调用其 modify() 或 set*() 方法时,它返回的是一个全新的 DateTimeImmutable 对象,不会改变原始值。
在近期的 Symfony 版本中,我们在框架的某几个部分添加了对 immutable 日期的支持。 在 Symfony 4.1 中我们完成了一个在社区中被长久期待的 在 Symfony 表单中添加对 immutable 日期的支持。
当使用 DateTimeType, DateType 或 TimeType 字段类型来构建表单时,把它们的 input 选项设置成全新的 datetime_immutable 值:
1 2 3 4 5 | use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
$builder->add('startsAt', DateTimeType::class, array(
'input' => 'datetime_immutable',
)); |
现在你就可以把一个 DateTimeImmutable 对象设置为该字段的值了。当表单被提交且有效时,你会得到一个 DateTimeImmutable 对象以及被用户设置的新值。
4.2翻译中
