Symfony2 表单 data_class 用于创建数据对象的工厂

Symfony2 form data_class factory for creating the data object

是否可以为表单数据对象使用某种工厂 method/class,而不是使用 data_class 选项。我需要这个用于嵌入式表单,我不再在客户端代码中控制数据对象。由于不能使用 PHP new 运算符创建的简单空对象,我需要某种工厂创建机制。

像这样(伪):

// ... some form type
$resolver->setDefaults(array(
    'data_class' => '\MyModel', // this the simple way, which is not enough for me.
    'data_factory' => \MyFactory::create('\MyModel') // or something like that.
));

我希望我的问题很清楚,这样的事情可能吗?

谢谢!

我正在寻找的是这个(与我在问题中描述的想法相同): http://symfony.com/doc/current/cookbook/form/use_empty_data.html

所以,我上面的代码应该是这样的:

// ... some form type
$resolver->setDefaults(array(
    'data_class' => '\MyModel',
    'empty_data' => \MyFactory::create('\MyModel'), // now it will create the object through my factory
));