我想构建一个自定义 DateType 类。为了做到这一点,我将类Symfony\Component\Form\Extension\Core\Type\DateType 复制到我的 src/ 目录并更改了类名和getName()
.
<?php
namespace FooBar\CoreBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
// ...
class MonthType extends AbstractType
{
// ...
public function getName()
{
return 'month';
}
// ...
}
我还注册了新类型:
foobar.form.type.month:
class: FooBar\CoreBundle\Form\Type\MonthType
tags:
- { name: form.type, alias: month }
但是,如果我尝试使用我的新类型,Array to string conversion in /var/www/foobar/app/cache/dev/twig/4d/99/945***.php
则会引发异常 ( ):
public function buildForm(FormBuilderInterface $builder, array $options)
{
$default = new \DateTime('now');
$builder
->add('season', 'month', array('data' => $default))
;
}
注意:如果我更改'month'
为'date'
一切正常。
有谁知道为什么抛出异常以及如何摆脱它?