Каждый веб-разработчик знает, что после POST сабмита формы желательно сделать редирект, чтобы предотвратить повторную отправку данных, когда пользователь захочет обновить страницу. В основном это критически необходимая операция, так как данные формы могут сохраняться в базе данных или участвовать в платёжной транзакции. И тогда данные не только продублируются, но и спишутся лишние деньги.
А расскажу я вам сегодня про фичу, которую совсем недавно мне понадобилось сделать в одном проекте. А именно о функции «Запомнить меня на этом компьютере». Смешно не правда ли? Что же тут сложного? Сохраняй куки на две недели, месяц, потом вытаскивай и восстанавливай сессию. Ага, всё просто. А я встал в тупик. Меня часто ставят в тупик самые простые вещи.Так что же меня смутило…
Идея, родившаяся в процессе разработки собственной CMS. Часто нужно, чтобы одни и те же события были доступны одновременно через основной html вид, через ajax, или, к примеру, через мобильный телефон. Естественно, может понадобиться не только вывести данные в разных форматах(html, JSON, xml), но и выполнить дополнительные действия в зависимости от среды.
Можно реализовать это с помощью условий в отдельном методе контроллера, можно с помощью отдельных методов для каждого типа отображения, а можно так…