2014-05-14 18 views
5

Khá đơn giản. Tôi đang cố gọi một hàm từ bên trong bộ điều khiển của mình. Thực tế, chức năng được xác định. Tuy nhiên, khi chức năng được gọi là tôi nhận được "Lỗi nghiêm trọng về PHP: Gọi hàm không xác định hợp lệ() ..."Bộ điều khiển Laravel cho rằng chức năng của tôi không được xác định

Đây là mã của tôi. Bất kỳ ý tưởng? Cảm ơn.

<?php 

class HomeController extends BaseController { 

    /** 
    * Controller for the index action of the home page. Displays the landing page. 
    */ 
    public function index() 
    { 
     return View::make('landing', array('success' => false)); 
    } 

    /** 
    * Controller to handle processing the contact form and re-displaying the landing page 
    */ 
    public function processForm() 
    { 
     $form_array = array(); 
     $errors = array(); 

     foreach (array('email','fname','lname','message','newsletter') as $val) 
     { 
      if (isset($_POST[$val])) 
       $form_array[$val] = $_POST[$val]; 
      else 
       $form_array[$val] = null; 
     } 

     $form_ok = validate(); 

     if ($form_ok) 
     { 
      echo "GOOD!"; 
     } 
     else 
     { 
      echo "BAD!"; 
     } 
    } 

    /** 
    * Helper function for validating the form. Returns true if the form was 
    * submitted without errors. 
    */ 
    public function validate() 
    { 
     return true; 
    } 
} 

Trả lời

12

Dường như bạn đang cố gắng gọi $this->validate(), thay vì validate(). Bạn đã xác định validate() làm phương thức lớp, không phải là chức năng độc lập.

+0

Ugh ... ngớ ngẩn tôi. Cảm ơn! – Vince

2

Bạn nên thử tham khảo bộ điều khiển thực tế.

Cả hai đều sẽ hoạt động.

$form_ok = self::validate(); 

hoặc

$this->validate(); 
0

Nó phải là $ this-> validate vì nó đề cập đến một phương thức trong lớp.

Các vấn đề liên quan