У меня проблемы с переходом на Symfony3. У меня есть форма в классе FormType, и я передаю конструктор сквозного конструктора Entity.Symfony3 Form class Entity Manager
Вот пример кода: Контроллер
$form = $this->createForm(new SubjectType($emDefault));
Форма класса
class SubjectType extends AbstractType {
private $em;
public function __construct($em) {
$this->em = $em;
}
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('subject', 'entity', array(
'em' => $this->em,
'class' => 'MyBundle:Subject',
'query_builder' => function ($em) {
return $em->createQueryBuilder('s')
->where('s.active = 1');
},
'property' => 'name')
)
->add('create', 'submit', array('label' => 'choose'));
}
...
Symfony 3 имеет изменение метода CreateForm к:
$this->createForm(SubjectType::class);
И с этой декларацией, я не знаю, как передать диспетчер объектов для создания класса.
Помогите, пожалуйста?
http://symfony.com/doc/current/cookbook/form/create_custom_field_type.html#creating-your-field-type-as-a-service – Cerad