За последние 24 часа нас посетили 17533 программиста и 1653 робота. Сейчас ищут 1308 программистов ...

какой файл Laravel 10 нужно прописать данный код из пакета кэширования spatie/laravel-responsecache

Тема в разделе "Laravel", создана пользователем Vaska, 20 авг 2024.

Метки:
  1. Vaska

    Vaska Активный пользователь

    С нами с:
    7 ноя 2019
    Сообщения:
    49
    Симпатии:
    5
    Приветствую!

    Не силен в Laravel, поэтому нужна помошь определить в какой файл нужно добавить код из мануала по установке spatie/laravel-responsecache https://github.com/spatie/laravel-responsecache

    Пакет я установил на скрипт с использованием Laravel 10.
    Кэширование сайта работает для всех страниц.
    Сейчас мне нужно некоторые страницы сайта исключить из кэширования.
    В пакте есть код, который нужно прописать в файл Laravel 10:
    PHP:
    1. // forgetting all PUT responses of /some-uri
    2. ResponseCache::selectCachedItems()->withPutMethod()->forUrls('/some-uri')->forget();
    3.  
    4. // forgetting all PUT responses of multiple endpoints
    5. ResponseCache::selectCachedItems()->withPutMethod()->forUrls(['/some-uri','/other-uri'])->forget();
    6.  
    7. // this is equivalent to the example above
    8. ResponseCache::selectCachedItems()->withPutMethod()->forUrls('/some-uri','/other-uri')->forget();
    9.  
    10. // forget /some-uri cached with "100" suffix (by default suffix is user->id or "")
    11. ResponseCache::selectCachedItems()->usingSuffix('100')->forUrls('/some-uri')->forget();
    12.  
    13. // all options combined
    14. ResponseCache::selectCachedItems()
    15.     ->withPutMethod()
    16.     ->withHeaders(['foo'=>'bar'])
    17.     ->withCookies(['cookie1' => 'value'])
    18.     ->withParameters(['param1' => 'value'])
    19.     ->withRemoteAddress('127.0.0.1')
    20.     ->usingSuffix('100')
    21.     ->usingTags('tag1', 'tag2')
    22.     ->forUrls('/some-uri', '/other-uri')
    23.     ->forget();
    В мануале не указано в какой файл Laravel 10 нужно внести этот код.
    Можете подсказать какой это файл и в какой директории находится?
    • Вопрос задан 2 часа назад
    • 15 просмотров
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Опыта в теме не имею, ознакомился с пакетом только после твоего вопроса. Как я понимаю, авторы оставляют это на твоё усмотрение. Я бы попробовал в любом сервис провайдере вызывать forget(), это бы выполнялось гарантированно каждый раз перед тем как начнется работа мидлварей и контроллера.

    Но предпочтение я бы отдал не "забыванию", а "не-кешированию", которое описано как модификатор маршрута или контроллера.
    Preventing a request from being cached
     
    Vaska нравится это.