действие без взгляда. Нужен модуль? - PullRequest
3 голосов
/ 21 июля 2011

Я хочу выполнить действие, которое действительно не нуждается в просмотре. В этом примере это функция выхода из системы, но это может быть даже вызов AJAX (например, мне просто нужно вернуть номер).

Должен ли я добавить модуль? Что ж, я бы предпочел сделать «плоский» скрипт как действие, которое перенаправит на страницу индекса, когда это будет сделано. И в таком случае, где поставить этот плоский скрипт?

1 Ответ

4 голосов
/ 21 июля 2011

Да, вы все еще хотите создать модуль (контроллер) для этого.

По ряду причин: - Если вы хотите изменить поведение, оно уже есть в вашем коде. - Для выхода из системы вы хотите манипулировать текущим (sfUser) пользователем, чтобы получить экземпляр, который вы хотите запустить стек Symfony, так почему бы не создать контроллер. - Это считается «плохой практикой» или «контр-MVC», если вы начинаете создавать все виды небольших файлов для небольших действий.

А как сложно создать новый модуль? ./symfony generate:module frontend user.

Если у вас нет представления, вы всегда можете переслать / перенаправить запрос. (в вашем действии: $this->redirect('homepage');).

Или, для вас AJAX-действия, вы можете вернуть только необходимые данные:

if ($request->isXmlHttpRequest()) {
   // set correct header
   return $this->renderText(json_encode($data));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...