2012-10-29 33 views
1

這是我的問題我遵循symfony tutorial(處理表單提交),但我有錯誤「調用未定義的方法Symfony \ Component \ HttpFoundation \ Request :: isMethod()」和我無法修復它。 我在一些網站上看到方法被壓制,但我找不到另一種方式來執行我的檢查。 謝謝。調用未定義的方法是Symfony2上的方法

use Symfony\Component\HttpFoundation\Request; 

public function contactusAction(Request $request) 
    { 
    $contact = new ContactUs(); 
    $form = $this->createFormBuilder($contact) 
     ->add('nom', 'text') 
     ->add('mail', 'email') 
     ->add('sujet', 'choice', array('choices' => array('pt' => 'Problemes techniques', 'bi' => 'Boite a idees', 'd' => 'Divers'))) 
     ->add('msg', 'textarea') 
     ->getForm(); 

    if ($request->isMethod('post')) 
    { 
     $form->bind($request); 

     if ($form->isValid()) 
     { 
      echo 'OK!';   
      //return $this->redirect($this->generateUrl('task_success')); 
     } 
     else 
      echo 'KO!!'; 
     } 

    return $this->render('MyCoreBundle:Info:contactus.html.twig', array('form' => $form->createView())); 
     //return array(); 
    }} 

回答

6

更新的Symfony到最新版本或使用

if ('POST' === $request->getMethod()) 

此外,要知道的是,比較方法字符串應該是大寫。

+0

感謝它的工作。我不能升級Sf的版本,因爲我不是唯一從事這個項目的人,而且我也不是大老闆。 ;) –

+1

isMethod()在Symfony 2.1中添加。如果您無法使用2.1。*,那麼我建議您閱讀2.0文檔:

相關問題