Контроллер Laravel считает, что моя функция undefined

Вопрос:Довольно просто. Я пытаюсь вызвать функцию из моего контроллера. Функция фактически определена. Тем не менее, когда функция вызывается, я получаю "PHP Fatal Error: Call to undefined function validate()..." Вот мой код. Есть идеи? Спасибо.

Вопрос:

Довольно просто. Я пытаюсь вызвать функцию из моего контроллера. Функция фактически определена. Тем не менее, когда функция вызывается, я получаю “PHP Fatal Error: Call to undefined function validate()…”

Вот мой код. Есть идеи? Спасибо.

<?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; } } Лучший ответ:

Похоже, вы пытаетесь вызвать $this->validate() вместо validate(). Вы определили validate() как метод класса, а не отдельную функцию.

Ответ №1

Вы должны попытаться обратиться к фактическому контроллеру.

Оба они будут работать.

$form_ok = self::validate();

или

$this->validate(); Ответ №2

Он должен быть $this- > validate, поскольку он ссылается на метод внутри класса.

Оцените статью
Добавить комментарий