Bonjour,
Dans le tutoriel de grafikart, nous avons un magnifique compteur de temps d'execution d'affichage de la page, je me suis dit qu'il serait intéressant de compter le nombre de requête utilisé pour afficher la page. Mon probleme est que j'ai ajouter une variable private $_countsql dans la class model et pour commencer dans la function find j'ai ajouté ++$this->_countSql;. Je n'arrive pas à savoir par ou passer pour recuperer le nombre de requete executé pour afficher par exemple l'accueil du site donc le blog.
Si vous avez une idée n'hesitez pas ;)
Cordialement
Bonjour,
Bon j'ai enfin réussi à faire un système de comptage des requêtes avec les variables de sessions (je pense que ça peut être amélioré mais j'ai pas de nouvelle idée) :
Dans Model.php :
// Avant la fin de la function find
$pre = $this->db->prepare($sql);
$pre->execute();
// permet de compter le nombre de requete
if (!isset($_SESSION'CountSql'])) {
$_SESSION'CountSql'] = $sql.' | ';
}else{
$_SESSION'CountSql'] .= $sql.' | ';
}
return $pre->fetchAll(PDO::FETCH_OBJ);
Dans functions.php :
/**
* Permet de compter le nombre de requete pour afficher une page
* @return [int] [nombre de requetes]
*/
function nbQueries(){
$count = count(explode('|',$_SESSION'CountSql'],-1)); //le -1 permet de supprimer le pipe supplémentaire vide
unset($_SESSION'CountSql']); // une fois que l'on a lu et affecté la variable on la detruit
return $count;
}
Dans votre layout default.php :
<?php echo 'Avec '.nbQueries().' requêtes SQL'; ?>
Cordialement