web-dev-qa-db-fra.com

Symfony2 désactiver le cache?

Existe-t-il un moyen de désactiver la fonction de mise en cache dans Symfony2? J'ai essayé de trouver le réglage dans les fichiers config * et parameters.ini et j'ai beaucoup cherché. Ok, j'ai trouvé quelques solutions, mais rien pour la dernière version (Symfony2).

POURQUOI? Parce que je veux tester de nouveaux modèles et fonctions sans vider l'app/cache * tout le temps.

37
NaN

Je suppose que vous utilisez le moteur Twig, (le moteur de template par défaut pour Symfony2). Pour désactiver la mise en cache dans twig, afin que vous n'ayez pas à continuer à vider le cache comme ceci:

rm -rf app/cache/*

Accédez à votre fichier de configuration d'application (par défaut, il sera situé dans ../ app/config/config.yml à partir de votre répertoire racine). Faites défiler jusqu'aux paramètres de configuration twig (sous twig: ) et modifiez la valeur du cache (qui doit pointer vers le répertoire cache) à false comme ceci:

twig:
    cache:  false

Si vous ne voyez aucune entrée de configuration de cache, ajoutez simplement la ligne ci-dessus.

Il peut également être utile de vérifier la référence de configuration pour le Twig bundle: http://symfony.com/doc/2.0/reference/configuration/twig.html

Après avoir édité votre fichier config_dev.yml, accédez à votre terminal et exécutez:

app/console cache:clear
72
Prince Mabandla

D'accord, en ce qui concerne votre clarification, la solution consiste simplement à utiliser l'environnement dev via le contrôleur frontal web/app_dev.php. Ensuite, sf2 garde une trace de vos ajustements et vous n'avez pas à vider le cache.

8
Raffael

En plus de la réponse acceptée, je propose de modifier votre config_dev.yml de manière à ce qu'il débogue toujours votre modèle twig. Pour ce faire, ajoutez ce code à votre fichier config_dev.yml:

twig:
    cache: false
    debug: true

services:
    twig.extension.debug:
        class: Twig_Extension_Debug
        tags:
                - { name: 'twig.extension' }

Après avoir édité votre fichier config_dev.yml, accédez à votre terminal et exécutez:

app/console cache:clear

Ce faisant, vous rechargerez vos paramètres config_dev.yml - faites fonctionner votre projet avec la nouvelle configuration.

J'espère que cela t'aides.

5
DevWL

Cette solution originale fonctionne pour moi http://symfony.com/doc/current/cookbook/debugging.html

5
Dmitry Sobolev

Modifiez "config_dev.yml" et "config.yml", puis mettez les deux

twig:
    cache:  false
4
albert