2015-02-20 3 views
0

В моем приложении Symfony2 у меня есть действия, обрабатывающие формы. Чтобы очистить мои контроллеры, я хочу знать, где лучше всего делать что-то вроде следующего, или если контроллер - это подходящее место для обработки формы и проверки ее.Какова наилучшая практика при обработке представлений форм

public function addAction(Request $request) 
{ 
    $article = new Article(); 
    $articleForm = $this->createForm(
     'web_article_type', 
     $article 
    ); 
    $articleForm->handleRequest($request); 
    if ($articleForm->isValid()) { 
     $manager = $this->getDoctrine()->getManager(); 
     $manager->persist($article); 
     $manager->flush(); 
    } 

    return $this->redirect($this->generateUrl('web_article_show')); 
} 
+0

для обработки диспетчера отправки формы является хорошим и для проверки вы можете [Symfony Validation] (http://symfony.com/doc/current/book/validation.html), в котором вы определяете обязательные правила в файле проверки –

ответ

2

Это уже лучшая форма!

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

Я бы только уйти от этого пути в следующем случае:

У вас есть форма, которая должна быть расширена с различными полями для различных пользовательских ролей/разрешений.

Тогда я бы определил эту форму как услугу для лучшей обработки формы и лучшего дизайна.

Смежные вопросы