2016-08-04 9 views
1

I mit FormEvents in Symfony FormType.Symfony Formularereignis zeigt Dumps an und ruft Datenattribute

Ich habe ein data-attribute zu einem meiner Feld hinzufügen, und ich versuche, dieses Attribut in meinem PRE_SUBMIT Formularereignis zu erhalten.

Ich möchte eine Bedingung innerhalb dieses Formularereignisses machen, um ein weiteres Feld hinzuzufügen, wenn data-attributetrue ist.

Das Problem ist, ich weiß nicht, wie man den Wert data-attribute in diesem Formular Ereignis erhalten. Alle dump() ich schreibe werden nicht angezeigt oder ich finde nicht wo in der Symfony Profiler.

$builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) use ($refreshIpV4s, $refreshIpV6s) { 
    $form = $event->getForm(); 
    $data = $event->getData(); 

    dump($form->get('server')->has('data-mysql')); 
    dump($form->get('server')->getData()); 
    dump($form['server']['data-mysql']);  

    if ($form['server']['data-mysql']) { 
     $form->add('database', CheckboxType::class, [ 
      'label' => 'domain.form.associated_databases', 
      'translation_domain' => 'front', 
      'required' => false, 
     ]); 
    } 
}); 

Diese Deponien Tests sind, ich weiß nicht, ob sie gut sind oder nicht, ich bin Tests genau das, was ich mit diesem zu bekommen.

Wie kann ich diese dump() sehen, wenn das Formularereignis verwendet wird? Wie kann ich meinen data-attribute Wert erhalten?

Wissen, wo Dumps angezeigt werden, wird wirklich hilfreich sein.

Dank

+1

Speicherauszug ($ var); die(); – xurshid29

+1

Setzen Sie 'exit;' nach Ihrem letzten 'dump' und reichen Sie Ihr Formular ein – DOZ

Antwort

1

Seit Symfony 2.6 Sie den Dump (siehe) im Profiler führen. Verwenden Sie zum Empfangen von Sicherungen während einer Umleitung intercept_redirects, und legen Sie sie auf true fest. Sie finden es unter app/config/config_dev.yml unter der web_profiler Option.

Übermitteln Sie das Formular erneut und warten Sie, bis die Weiterleitung abgefangen wurde und Sie Ihre Dump-Ergebnisse sehen sollten.