В Symfony 4 для отключения кеширования классов и других кэшей, которые хранятся в папке var/cache, необходимо внести некоторые изменения в файл config/services.yaml
.
1. В первую очередь, откройте файл config/services.yaml
вашего проекта.
2. Найдите секцию parameters
и добавьте следующие строки:
parameters: # ... cache.class_cache: cache.adapter.array cache.system_cache: cache.adapter.array cache.twig_cache: cache.adapter.array
Эти параметры переопределяют классы внутреннего кэша Symfony для использования адаптера массива, который не выполняет фактического кэширования.
3. Далее, найдите секцию services
и добавьте следующий код:
services: # ... cache.class_cache: class: SymfonyComponentCacheAdapterArrayAdapter decorate: false cache.system_cache: class: SymfonyComponentCacheAdapterArrayAdapter decorate: false cache.twig_cache: class: SymfonyComponentCacheAdapterArrayAdapter decorate: false
4. После этого сохраните и закройте файл services.yaml
. Теперь Symfony будет использовать адаптер массива для классового кэша, системного кэша и кэша Twig.
5. Наконец, удалите содержимое папки var/cache
в вашем проекте, чтобы сбросить все предыдущие кэшированные данные.
После выполнения этих шагов кэширование классов и других кэшей будет отключено, и Symfony будет загружать и перекомпилировать классы и другие ресурсы при каждом запросе. Это может быть полезно во время разработки, когда вы вносите изменения в код и хотите видеть их немедленно без необходимости очистки кэша вручную. Однако учтите, что это может снизить производительность вашего приложения в продакшн-среде, где кэширование важно для оптимизации загрузки и работы приложения.