2016-08-04 50 views
1

我在Symfony FormType中使用FormEventsSymfony表單事件顯示轉儲並獲取數據屬性

我有一個data-attribute添加到我的領域之一,我試圖在我的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值?

知道轉儲顯示在哪裏將非常有幫助。

謝謝

+1

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

+1

在最後一次「轉儲」之後放置'exit;'並提交表單,您將看到這些 – DOZ

回答

1

由於Symfony 2.6,你可以在profiler中看到dump()結果。要在重定向期間接收轉儲,請使用intercept_redirects並將其設置爲true。您可以在app/config/config_dev.yml下的web_profiler選項下找到它。

重新提交表單並等待,直到重定向被攔截,您應該看到您的轉儲結果。