8
votes

Dans Symfony 2, y a-t-il un bon moyen d'interagir avec le cache de l'application / cache à l'aide de méthodes de lecture () et d'écriture ()?

Je veux enregistrer des données sur le cache de fichier de Symfony. Existe-t-il un bon moyen d'interagir avec le cache de l'application / cache à l'aide de méthodes de lecture () et d'écriture ()?

Edit

L'excellent Winzou cachebundle était exactement ce dont j'avais besoin.


0 commentaires

3 Réponses :


0
votes

Pas vraiment sûr de ce que vous essayez de réaliser, mais vous avez consulté la documentation de composant de configuration, et spécifiquement à la classe ConfigCache:

http://symfony.com/doc/current/components/config/ index.html

http://symfony.com/doc/current/comPonents/config/ Caching.html


0 commentaires

8
votes

Vous pouvez le faire à partir du contrôleur:

use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\Filesystem\Exception\IOException;

//Define your file path based on the cache one
$filename = $this->container->getParameter('kernel.cache_dir') . '/yourapp/filename.txt';

//Create your own folder in the cache directory
$fs = new Filesystem();
try {
    $fs->mkdir(dirname($filename));
} catch (IOException $e) {
    echo "An error occured while creating your directory";
}

//Write your file
file_put_contents($filename, 'Text content');

//Read the content of your file    
echo file_get_contents($filename);


2 commentaires

Lorsque vous utilisez le système de fichiers, vous pouvez également faire $ FS-> Dumpfile () au lieu de MKDIR, puis File_Put_Contents. plus compact et élégant.


Au lieu d'un nouveau système de fichiers, vous pouvez faire $ ceci-> Obtenir ('"Système de fichiers") pour obtenir le service de système de fichiers.



3
votes

Notez que DoctrinecacheBundle est maintenant recommandé. Ne soyez pas induit en erreur par la marque de doctrine - ceci est distinct et distinct de l'orme et du DBAL, etc.


0 commentaires