> зачем его генерировать еще раз?
Я применял такую штуку. В сессию ложил следующие данные.
$this->setReturnPath("/ru/admin/catalog/section-12/page-3/list.html");
То есть ложил в сессию данные о том, куда возвратится пользователю после нажатия, например, на сохранить в редактировании объекта.
Сначала, просто использовал ключ returnPath - но тут вдруг выяснилось, что если я открыл два окна - для редактирования двух разных объектов и по кнопке "сохранить" я попаду в одном окне не туда. куда ожидал,
это называется bug, все же я оставил сессию для этого, но добавил название модуля в ключ, это практически решило проблему, но факт наличия бага остался, использование, например returnPath в ГЕТ запросе решила бы эту проблему и исключило баг.
> Простите, это именно говоно код.
Говнокод - это использвание бд ряди ее использования.
> На каждой странице прикажете объявлять говномассив этот?)
Нет, это не говномасив, это массив, очень удобная штука, причем в контексте архитекруты может находится в объекте или конфигурационном / языковом файле, о подключении которого кодер задумываться не будет.
> И что дальше? Это догма и данное решение нельзя критиковать?
Я хотел бы посмотреть на вас, как вы будете сессии создавать на разных серверах, например - сервере авторизации и сайте клиенте.
> Теперь как у меня сделано покажу
....
> - на странице /admin/users/ текст сообщения будет гарантированно показан. ВСЕ.
Научитесь различать задачи, показать текст на этой же странице или через редирект location.
Офтоп про проверки:
> корявое решение, с какими-то ключами и проверками.
Чем оно кривое? Аргументы пожалуйста, про сессии я привел аргументы.
И про проверки - проверки должны выполняться всегда, даже тогда, когда мы как бы уверены, что переменная была. В паблике все проекты работают на E_ALL + display_errors = on, и в паблик проект попадает только тогда, когда после стрессоустойчивого тестирования не выявлено ни одного notice (если в результате работы сайта выпадет хоть один нотис - тестер получает)
Любой notice - есть потенциальная уязвимость. Кроме того, после программирования спец. демона для передачи большого объема данных между тысячами он-лайн пользователей, написанном на TCL - приходится задумываться о том, есть ли переменная, поскольку в forever если в процедуре будет ошибка доступа к перменной - система откажет работы, кроме того, демон мог работать месецами - без утечек памяти, а утечки памяти - это и есть неправильное (нетепичное) для программирования надежда на интерпретатор.