Можно ли использовать вид фабричного метода / класса для объекта данных форм вместо использования 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
));
Других решений пока нет …