Variable statique dans Respository : bonne pratique ?

Par Gaylord.P, il y a 10 ans


Bonjour à tous,

Dans un respository, j'ai une fonctionn countCabinets() qui me revoit simplement un nombre. Cette fonction sera appelé à de nombreux endroits dans une même page : dans le controller, dans certains services et même dans le menu.

Quelle est la meilleure pratique selon-vous dans ce cas, afin de ne pas répéter la requête dans une même page ? Créer dans le respository une variable statique stockant dans un tableau tous les résultats countCabinets() afin de le rappeler ensuite est-il une bonne pratique ?

<?php class CabinetRepository extends EntityRepository { protected static $count_cabinets; public function countCabinets() { if (isset(self::$count_cabinets)) { return self::$count_cabinets; } $rsm = new ResultSetMappingBuilder($this->_em); $rsm->addScalarResult('count_cabinets', 'count_cabinets', 'integer'); $query = $this->_em->createNativeQuery(' SELECT COUNT(c.id) AS count_cabinets FROM cabinet c WHERE c.date_suppression IS NULL ', $rsm); return self::$count_cabinets = $query->getSingleScalarResult(); }

J'ai un doute sur la meilleure façon d'aborder ce problème ...

Merci d'avance :)

1 réponse

aurelienw, il y a 10 ans

Salut,

Je pense qu'il serait préférable d'utiliser le système de cache fourni avec Doctrine et Symfony ;)
Un petit lien pour t'aider.

Aurélien