2016-08-04 4 views
1

私はsymfony FormTypeでFormEventsを使用しています。Symfonyフォームのイベント表示のダンプとデータ属性の取得

私はdata-attributeを自分のフィールドの1つに追加しました。私はPRE_SUBMITフォームイベントでこの属性を取得しようとしています。

data-attributetrueの場合は、別のフィールドを追加するために、このフォームイベント内で条件を作成したいと考えています。

問題は、このフォームイベントでdata-attribute値を取得する方法がわかりません。 すべてdump()私が書いたものは表示されません。あるいは、私はSymfonyプロファイラのどこに見つかっていません。

$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, 
     ]); 
    } 
}); 

このダンプはテストであり、良いかどうかはわかりませんが、私はこれで何を得るのかテストしています。

dump()フォームイベントを使用するとどうなりますか? data-attributeの値を取得するにはどうすればよいですか?

ダンプが表示されている場所を知ることは本当に役立ちます。 symfonyの2.6以来

おかげ

+1

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

+1

あなたの最後の 'dump'の後に' exit; 'を入れてフォームを送信すると、これらが表示されます – DOZ

答えて

1

あなたは(ダンプを参照)は、プロファイラ内なります。リダイレクト時にダンプを受信するには、intercept_redirectsを使用し、trueに設定します。あなたはweb_profilerオプションの下でapp/config/config_dev.ymlの下にそれを見つけることができます。

フォームを再度送信し、リダイレクトがインターセプトされるまで待ってください。ダンプの結果が表示されるはずです。

関連する問題