Bonjour à tous,

Je suis en train de me former sur le framework Symfony . Comme 1er projet de formation, je souhaite réaliser un blog. Pour mon front, je souhaite mettre en place une sidebare me permettant de lister mes catégories, mes derniers articles, derniers commentaires, mes derniers tweets etc... Cependant je ne sais pas quelle méthode utiliser.

J'ai lu en faisant quelques recherches que je pouvais utiliser

  • le combo render( controller() ) dans mon template apparement pas trop recommandée par les dev mais l'est par Sensio Labs.
  • la création d'un extension twig
  • éventuellement un listener

    Selon vous quelle serait la meilleure méthode pour faire ce dont j'ai besoin ?

    Merci d'avance pour vos réponses.

1 réponse


SimonAndGarfunkel
Réponse acceptée

Bonsoir shadow49,

Alors dans ton cas, j'utiliserai sans aucun doute les extensions twig.
Tu pourrais par exemple en créer une par type de donnée dont tu as besoin (getCategories(), getLastArticles(nb), getLastComments(nb), .... C'est tout à fait le cas d'utilisation des extensions Twig.

Exemple, dans ton template de sidebar:

<h3>Categories</h3>
<ul>
    {% for category in getCategories() %}
        <li>{{category.name}}</li>
    {% endfor %}
</ul>

Pour les render(controller), c'est en effet une des choses que propose le framework. Par contre, pour les avoir déjà utilisé, c'est rapidement un désastre au niveau des performances (temps de rendu). De ce fait, je n'utilise jamais cette fonctionnalité.

Pour les listener, ce n'est pas fait pour ce genre de chose...

++