ruwork / polyfill-form-dti
Symfony 表单 polyfill,为日期类型添加 input=datetime_immutable。
0.2.1
2018-02-16 15:21 UTC
Requires
- php: >=5.5
- symfony/form: ^2.8 || ^3.0 || ^4.0
Requires (Dev)
- doctrine/orm: ^2.4.8
- symfony/phpunit-bridge: ^2.8 || ^3.0 || ^4.0
This package is auto-updated.
Last update: 2024-09-12 07:06:59 UTC
README
此包是我为 pull request 添加 input=datetime_immutable
选项到 Symfony 日期和时间段表单类型的 polyfill。
与 PHP >=5.5
和 Symfony >=2.8
兼容。
如果你使用 Symfony 框架,请查看相应的 ruwork/polyfill-form-dti-bundle。
安装
composer require ruwork/polyfill-form-dti
使用
<?php use Ruwork\PolyfillFormDTI\DTIExtension; use Ruwork\PolyfillFormDTI\Guesser\DoctrineOrmDTIGuesser; use Symfony\Component\Form\Extension\Core\Type\DateTimeType; use Symfony\Component\Form\Extension\Core\Type\DateType; use Symfony\Component\Form\Extension\Core\Type\FormType; use Symfony\Component\Form\Extension\Core\Type\TimeType; use Symfony\Component\Form\Forms; /** @var \Doctrine\Common\Persistence\ManagerRegistry $registry */ $factory = Forms::createFormFactoryBuilder() ->addExtension(new DTIExtension()) // Optionally you can add a Doctrine ORM guesser // to guess input=datetime_immutable for Doctrine 2.6 immutable date types. ->addTypeGuesser(new DoctrineOrmDTIGuesser($registry)) ->getFormFactory(); $form = $factory ->createBuilder(FormType::class, [ 'datetime' => new \DateTimeImmutable('1828-09-09 12:00:00'), 'date' => new \DateTimeImmutable('1860-01-29'), 'time' => new \DateTimeImmutable('23:59'), ]) ->add('datetime', DateTimeType::class, [ 'input' => 'datetime_immutable', ]) ->add('date', DateType::class, [ 'input' => 'datetime_immutable', ]) ->add('time', TimeType::class, [ 'input' => 'datetime_immutable', ]) ->getForm();
测试
vendor/bin/simple-phpunit