Духовность™
Продвинутый новичок
как организовать редирект?
В общем, стоит задача сделать редирект в контроллере. Что сейчас есть:
дальше нужно сделать $redirect->run() что бы сохранить сообщение в БД и сделать Location на /admin/user/?id_redirect=123
Я мог бы сделать такой метод в контроллере:
и вызывать так:
но меня смущает exit. Это дико не ООП-шно. НО exit нужен, что бы не выводить случайно какие-нибудь данные.
Я вот думаю, а может делать редирект - это не задача контроллера, а задача приложения, которое и инстанцирует контроллер?
В общем, стоит задача сделать редирект в контроллере. Что сейчас есть:
PHP:
$redirect = new Redirect();
$redirect->setMessage('Действие выполнено');
$redirect->setRedirectUrl('/admin/user/');
Я мог бы сделать такой метод в контроллере:
PHP:
function redirect(Redirect $redirect)
{
// сохраняем сообщение в базу
$redirect->run();
// устанавливаем URL для Location
$this->response->setHeader('Location', $redirect->getRedirectUrl());
// Отсылаем HTTP-заголовки
$this->response->sendHeaders();
exit; // WTF?
}
PHP:
if ($error)
{
$redirect = new Redirect();
$redirect->setMessage('Действие выполнено');
$redirect->setRedirectUrl('/admin/user/');
$this->redirect( $redirect );
}
// тут сценарий дальше что-то может делать
Я вот думаю, а может делать редирект - это не задача контроллера, а задача приложения, которое и инстанцирует контроллер?