Проверка действий в Symfony (PHP) - PullRequest
1 голос
/ 03 августа 2010

Я читал некоторую документацию Symfony относительно проверки / обработки ошибок для контроллеров.

http://www.symfony -project.org / book / 1_2 / 06-Inside-the-Controller-Layer

Методы проверки и обработки ошибок (чуть более 2/3)

Мне нравится идея автоматического вызова функции - validateMyAction перед вызовом executeMyAction, и вы можете контролировать, какиетип представления используется, например, myActionSucess или myActionError.

Однако, это не похоже на работу с Symfony 1.4, я предполагаю, что этот тип обработки / проверки ошибок устарел, поэтому яЯ не знаю, как мне это делать с Symfony 1.4.

Я знаю, что функции pre и post Execute делают нечто похожее, но я предпочитаю иметь выделенную функцию проверки для каждого действия.

Или следуетЯ сейчас использую фильтры?

Спасибо за любую помощь / совет

Ответы [ 2 ]

1 голос
/ 03 августа 2010

Такая проверка работала в symfony 1.0 и 1.1, но устарела с 1.2, удалена в 1.4.Он был заменен формой рамки, которая предлагает гораздо больше.Я рекомендую вам прочитать главу 10 (Формы) из книги "Нежное введение в Symfony". специальная книга для каркаса форм также существует, но не является полной - она ​​все еще является хорошим справочником для существующих виджетов и валидаторов.

0 голосов
/ 03 августа 2010
  public function preExecute()
  {
    $method = 'validate'.$this->getActionName();
    if (method_exists($this, $method))
    {
      if (!$this->{$method}())
      {
        return sfView::ERROR;
      }
    }
  }

Нечто подобное может имитировать функцию валидатора для каждого действия. Но тогда мой следующий вопрос будет, как лучше всего отображать ошибки? Что-то вроде установки массива ошибок в функции проверки, затем проверки в шаблоне / представлении для устанавливаемого массива ошибок и последующего отображения соответствующей информации. Затем это может быть расширено для предупреждений / уведомлений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...