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