Я новичок в Symfony, и у меня возникла проблема с организацией логического кода.Разная версия кеша в Symfony
Проблема связана с кешем и другой версией веб-страницы для гостей, зарегистрированных пользователей и владельцев.
Например. У меня есть «пользовательский» модуль, который имеет действие «показать», а URL-адрес/user/show /: id и URL-адрес для каждого посетителя одинаковы. Но содержание страницы зависит от посетителя и выбрано с условием «если», поэтому ... Если я очищу кеш, а первым посетителем будет гость, тогда другие (включая владельца и зарегистрированные пользователи) будут видеть кэшированную страницу гостя.
Какое-то решение может быть разделено на каждый вид (владелец, гость, зарегистрированный пользователь) до частичного, но это против правила DRY.
Как это сделать?
Я уже внимательно прочитал документацию. Изучение примера :) Существует страница профиля (пользователь/шоу/1), с меню и т. Д., И если I (id = 2) откроет эту страницу (пользователь/показать/1), она будет кэшироваться. В качестве гостя на его странице я вижу такие кнопки, как «добавить друзьям» или «отправить сообщение». Когда пользователь с id = 1 открывает свою домашнюю страницу, он увидит кешированную страницу с кнопками:/ Простым решением будет различный кеш для владельца, гостей друзей, но это возможно? Конечно, я использую указанную sf_cache_key, но я не знаю, как ее использовать в этом случае. Я думал, что это полезно только для удаления частей кеша. – Marcin
Я редактировал свое сообщение, чтобы показать вам, как использовать sf_cache_key в этом случае. Вам просто нужно указать столько разных кеш-кеков, сколько требуемых кэш-версий. – greg0ire
Я не заметил, что вы отредактировали сообщение. решение было настолько простым .. Большое спасибо greg0ire :) – Marcin