Problème de pagination avec PagerFanta

Problème de pagination avec PagerFanta

Pagerfanta est une librarie que l’on ne présente plus tellement elle est devenu un standard pour mettre en oeuvre la pagination dans des projets PHP ou Symfony. Cependant, un petit manque de robustesse dans l’API m’a fait perdre une belle demi-journée. En effet, la pagination est bloqué à 10 quelques soit le nombre de résultat par page que j’indiquais, explications.

<?php
$items = new Pagerfanta(
    new LocationSearchAdapter($query, $this->searchService)
);
$items->setCurrentPage($page);
$items->setMaxPerPage($maxPerPage);

A première vue, tout à l’air normal, cependant dans cette configuration, la pagination se fait par pas de 10 quelque soit la valeur de $maxPerPage. Pour que le code fonctionne, il faut impérativement que l’ordre des instructions soit le suivant :

<?php
$items = new Pagerfanta(
    new LocationSearchAdapter($query, $this->searchService)
);
$items->setMaxPerPage($maxPerPage);
$items->setCurrentPage($page);

La raison c’est que setMaxPerPage est plus qu’un setter, il ré-initialise d’autres variables https://github.com/whiteoctober/Pagerfanta/blob/master/src/Pagerfanta/Pagerfanta.php#L158

comments powered by Disqus

Voir aussi

Pas de réponse sur un php composer.phar update

Pas de réponse sur un php composer.phar update

Petit problème qui m’a fait perdre pas mal de temps, https://suhosin.org/stories/index.html Suhosin est un patch de sécurité pour PHP qui peut, …

Les CMS sont ils de bon outils techniquement parlant ?

Les CMS sont ils de bon outils techniquement parlant ?

Aujourd’hui les CMS occupent une part de marché grandissante dans la mise en place des sites Web, mettre en place un site Web et déployer un CMS …

Les filtres PHP

Les filtres PHP

Le filtrage des données est un des points importants dans la sécurité des sites Web. Avoir des composants clé en main sur ce genre de tache est …

Datetime Design Pattern Microformat

Datetime Design Pattern Microformat

Les microformat ont pris de l’importance ces derniers mois dans les moteurs de recherches. Voici un petit exemple qui permet de sortir le bon …

A la une
  • Rencontre du numérique 2019 - Nîmes
  • référencement naturel d'un hôtel
  • Développeur eZ Platform
  • Tech lead Symfony
  • Expert Qualité Web

Copyright - Sylvain FIX

2009 - 2019