Last active
December 31, 2015 18:29
-
-
Save baptistedonaux/8027420 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function execute ($sql_query, $id = null, $delay = 3600) { | |
//On déclare une instance de cache | |
$cacheDriver = new \Doctrine\Common\Cache\XcacheCache(); | |
$results = null; | |
//Si un ID a été saisie et que le système de cache contient des données pour un ID "x" | |
if ($id != null && $cacheDriver->contains($id)) { | |
//Alors on prend les données en cache pour un ID "x" | |
$results = $cacheDriver->fetch($id); | |
} | |
//Si on n'a pas de donnée, dans le cas ou la donnée mise en cache soit égale à null | |
if ($results == null) { | |
//On récupère les données | |
$results = $this->container->get("doctrine")->getManager()->getRepository("NamespaceNameBundle:Entity")->findAll(); | |
//Si on a un ID de mise en cache | |
if ($id != null) { | |
//On sauvegarde les données pour un ID x et pour un délai y | |
$cacheDriver->save($id, $results, intval($delay)); | |
} | |
} | |
//On retourne les résultats en limitant les requêtes futures | |
return $results; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment