Как предотвратить кеширование запроса для маршрутизации LANGUAGE SWITCH Lacvel Spatie responsecache - PullRequest
0 голосов
/ 21 января 2019

Я использую кеш ответов Laravel Spatie: https://github.com/spatie/laravel-responsecache и несколько языков (переключение языка ..).

Как исправить: Предотвращение кэширования запроса для маршрута переключения языков в Laravel.

Я пытался добавить: -> middleware ('doNotCacheResponse'); на маршруте lang.switch, но безуспешно ...

Route::get('lang/{language}', ['as' => 'lang.switch', 'uses' => 'LanguageController@switchLang'])->middleware('doNotCacheResponse');

Ожидаемые результаты для предотвращения запроса при переключении страниц (ссылок) между языками для кэширования ....

1 Ответ

0 голосов
/ 21 января 2019

Не уверен, правильно ли я вас понимаю. Если проблема заключается в том, что вы получаете кэшированные результаты после выбора другого языка, я думаю, вам следует очистить весь кеш:

LanguageController {

    public function switchLang() {
        // Switch language
        ResponseCache::clear();
    }

}

Кроме того, похоже, что spatie / laravel-responsecache позволяет вам удалять определенные URI с помощью ResponseCache::forget('/some-uri');

Чтобы удалить кеш после изменения ваших данных, сделайте что-то вроде этого

PostController {

    public function index()
    {
        // Display list of posts
    }

    public function edit()
    {
        // Display form to edit post
    }

    public function update()
    {
        // Delete related cache here and update post
        ResponseCache::forget('/posts');
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...