Lorsque j’ai appris à développer sous Symfony, il y a un point qui m’a fait tout de suite extrêmement peur, de par sa complexité au premier abord, c’est la gestion de la connexion des utilisateurs. Mais, avec un peu d’entraînement, tout devient extrêmement simple à mettre en place.

Aujourd’hui, nous allons aborder le sujet en créant un simple espace sécurisé pour un administrateur unique.

Lire la suite de

Il existe beaucoup de Bundle permettant de mettre en place un système de pagination au sein de votre projet Symfony. Le plus connu étant KNP Paginator qui, il est vrai, m’a beaucoup aidé à mes débuts. Mais ils ont tous un énorme défaut : l’optimisation.

En effet, pour créer une pagination sur une requête avec Doctrine, il nous faut une information cruciale : le nombre total de résultats. Ainsi, ils exécutent la requête sur l’intégralité de votre base, comptent le nombre de résultats obtenus, puis « coupent » les résultats pour ne retourner que ceux voulus (voir, pour certains, effectuent une seconde requête).

Dans les faits, ça fonctionne, mais dès que vous essayez de paginer une liste de plus d’un millier de résultat, votre serveur commence alors à prendre très cher, rallongeant beaucoup le temps de chargement pour vos visiteurs.

Pourtant, Doctrine, intégré à Symfony, a mis en place, depuis Janvier 2012, la méthode Paginator qui permet d’optimiser très simplement un sytème de pagination.

Pour les besoins d’un de mes projets professionnels, j’ai eu l’occasion d’automatiser la chose avec un nouveau Bundle, que je vous mets à disposition : Tiloweb Pagination Bundle (très original).

Lire la suite de

Il peut arriver, dans certains de vos projets Symfony, que vous deviez appeler une fonction spécifique dans toutes vos actions d’un controller en particulier. Mais voila, vous êtes également dépendant de vos services, qui ne sont disponibles qu’à l’intérieur de vos actions.

L’astuce consiste ici à surcharger chacune des actions de vos controllers automatiquement, pour leur demander d’exécuter le même code avant même de s’exécuter elle-même. Vous bénéficiez ainsi des mêmes dépendances que vos actions ainsi que du même environnement.

Lire la suite de