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 :)