У меня есть приложение в Symfony, которое генерирует много сообщений. Каждое действие в модуле может генерировать сообщения, хранящиеся в массиве. Последние добавленные сообщения должны отображаться в любом представлении (поэтому я вызываю функцию в layout.php, чтобы сообщения отображались в каждом шаблоне представления). Многие действия перенаправляют (с помощью функции redirect (); я не буду использовать forward ()) для других действий после установки сообщения.
Итак, схема следующая.
- Действие A: установить сообщение, перенаправить на Действие B.
- Действие B: отображение вида (и макета, конечно, также).
Когда я не использую redirect (), все работает нормально. Но когда я устанавливаю сообщение ($ my_array [] = "новое сообщение"), массив кажется "умершим" (пустым) сразу после redirect ('same_module / another_action') .
Проблема:
Как установить данные (переменные) в одном действии, которые будут «доступны» в другом действии ПОСЛЕ перенаправления (redirect ()). Я заметил, что когда я использую forward (), переменные доступны, но когда я использую redirect (), все переменные кажутся пустыми.
Я даже создал my_class и поместил их функции для обработки (добавления, отображения) сообщений в каталоге lib, полагая, что хотя бы внешний файл запомнит мои сообщения (в массиве). Но на самом деле ничего не изменилось - после перенаправления массив снова кажется пустым (count ($ messages_array) = 0 после redirect ()).
Это действительно странно для меня. Любое решение этого?