Connexion
S'inscrire
Actualités
Quoi de neuf
Activités générales
Auteurs
Forums
Nouveaux messages
Rechercher un forum
Quoi de neuf
Nouveaux messages
Nouveaux messages de profil
Activités générales
Membres
Membres inscrits
Visiteurs actuels
Nouveaux messages de profil
Rechercher dans les messages des profils
Teams
Créé ton équipe
Quoi de neuf ?
Nouveaux messages
Rechercher un forum
Menu
Connexion
S'inscrire
Install the app
Install
Forums
Forums généraux
Informatique
Développement
Questions, aides et recherches
Mettre des functions en Cache
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Vous utilisez un navigateur non à jour ou ancien. Il ne peut pas afficher ce site ou d'autres sites correctement.
Vous devez le mettre à jour ou utiliser un
navigateur alternatif
.
Répondre à la discussion
Message
<blockquote data-quote="Florian." data-source="post: 7380302" data-attributes="member: 145215"><p>Hello,</p><p></p><p>Je recherchais un système pour mettre des functions en cache, j'ai donc fait une ptit function, si vous voulez la modifié & la partager pourquoi pas <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite355" alt=":)" title=":) :)" loading="lazy" data-shortname=":)" /></p><p>Vous devez a chaque fois faire un return Cache([__function__, func_get_args()], {LE RESULTAT DE LA FONCTION});</p><p></p><p>[CODE=php]</p><p>echo FonctionAMettreEnCache(1, 5);</p><p></p><p>function FonctionAMettreEnCache($a, $b){</p><p> $calcul = $a + $b;</p><p> return Cache([__function__, func_get_args()], $calcul);</p><p>}</p><p></p><p>/*</p><p>$f = Un array </p><p> $f[0] = le nom de la function a mettre en cache</p><p> $f[1] = les arguments passer par la function $f[0]</p><p> $result = le resultat de la function $f[0] ce qu'il faut mettre en cache</p><p> $d = Nombre de seconde a mettre en cache par defaut 600 secondes</p><p></p><p>*/</p><p></p><p>function Cache($f, $result, $d = 600){ </p><p></p><p> $name = $f[0];</p><p> if(is_array($f[1])){</p><p> foreach ($f[1] as $key => $value) {</p><p> $name .= "-".$value;</p><p> }</p><p> }elseif(!empty($f[1])){</p><p> $name .= "-".$f[1];</p><p> }</p><p> $name = $_SERVER['DOCUMENT_ROOT']."/cache/".sha1($name).".json";</p><p> if (file_exists($name)) {</p><p> if(filemtime($name)+$d <= time()){</p><p> $fichier = fopen($name, "w+");</p><p> fwrite($fichier, json_encode($result));</p><p> fclose($fichier);</p><p> return json_decode(file($name)[0]);</p><p> }else{</p><p> return json_decode(file($name)[0]); </p><p> }</p><p> }</p><p> $fichier = fopen($name, "w+");</p><p> fwrite($fichier, json_encode($result));</p><p> fclose($fichier);</p><p> return json_decode(file($name)[0]);</p><p>}</p><p>[/CODE]</p></blockquote><p></p>
[QUOTE="Florian., post: 7380302, member: 145215"] Hello, Je recherchais un système pour mettre des functions en cache, j'ai donc fait une ptit function, si vous voulez la modifié & la partager pourquoi pas :) Vous devez a chaque fois faire un return Cache([__function__, func_get_args()], {LE RESULTAT DE LA FONCTION}); [CODE=php] echo FonctionAMettreEnCache(1, 5); function FonctionAMettreEnCache($a, $b){ $calcul = $a + $b; return Cache([__function__, func_get_args()], $calcul); } /* $f = Un array $f[0] = le nom de la function a mettre en cache $f[1] = les arguments passer par la function $f[0] $result = le resultat de la function $f[0] ce qu'il faut mettre en cache $d = Nombre de seconde a mettre en cache par defaut 600 secondes */ function Cache($f, $result, $d = 600){ $name = $f[0]; if(is_array($f[1])){ foreach ($f[1] as $key => $value) { $name .= "-".$value; } }elseif(!empty($f[1])){ $name .= "-".$f[1]; } $name = $_SERVER['DOCUMENT_ROOT']."/cache/".sha1($name).".json"; if (file_exists($name)) { if(filemtime($name)+$d <= time()){ $fichier = fopen($name, "w+"); fwrite($fichier, json_encode($result)); fclose($fichier); return json_decode(file($name)[0]); }else{ return json_decode(file($name)[0]); } } $fichier = fopen($name, "w+"); fwrite($fichier, json_encode($result)); fclose($fichier); return json_decode(file($name)[0]); } [/CODE] [/QUOTE]
Insérer les citations…
Vérification
Publier la réponse
Forums
Forums généraux
Informatique
Développement
Questions, aides et recherches
Mettre des functions en Cache
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
Acceptez
En savoir plus.…
Haut