2016-07-21 5 views
-2

В настоящее время мы обновляем наш проект symfony 2.7 до 3. *, и мы находимся в точке освобождения от устаревания версии 2.8.Symfony Уведомление об отказе в специальном типе

Так что я продолжаю получать Deprecation известить об

Passing type instances to FormBuilder::add(), Form::add() or the FormFactory is deprecated since version 2.8 and will not be supported in 3.0. Use the fully-qualified type class name instead (******\AutoBundle\Form\Type\ChoiceNVType) 

ChoiceNVType наш пользовательский тип, который мы использовали до сих пор, как это:

$form->add('model', new ChoiceNVType(), array(
       'choices' => array(), 
       'required' => false, 
       'placeholder' => 'Something', 
       )); 

Теперь мы хотим, чтобы исправить все устаревания уведомления, но у меня есть не знаю, как это сделать с пользовательским типом. Есть идеи?

ответ

1

сообщение ясно говорит, что вы должны использовать FQN вместо экземпляра:

$form->add('model', '******\AutoBundle\Form\Type\ChoiceNVType', array(
       'choices' => array(), 
       'required' => false, 
       'placeholder' => 'Something', 
       )); 
+0

Да, это было, самое худшее, что это я пытался раньше, и это на самом деле не работает. Благодаря! :) – Pitchwaiz

+1

Вы также можете написать 'ChoiceNVType :: class' => делает его более читаемым IMHO – mblaettermann

Смежные вопросы