Knp Bundles, ou le paradis des bundles Symfony2

17 sept

Symfony2 est un framework extraordinairement complet et puissant, full MVC et intégrant tout un tas d’outils internes facilitant la vie des développeurs tels la gestion complète des formulaires, un puissant outil de templating, des tests unitaires et fonctionnels, et j’en passe.

Le framework, développé par Sensio est grandement basé sur ce que l’on appelle les « Bundles », sortes de packages regroupant tout un tas de fichiers (PHP, CSS, JS,…) implémentant une fonctionnalité (blog, forum,…). Ils sont un peu l’équivalent des modules sur WordPress… en quelque sorte… mais comment trouver ces bundles? Comment trouver ce que les autres ont déjà fait pour ne pas réinventer la roue?

La réponse est simple : Knp Bundles. Ce site regroupe plus de 1610 bundles pour Symfony2, allant du simple bundle de QR Code au bundle ultra-complet de monitoring.

Comme vous pouvez vous en douter, il y en a pour tous les goûts, et surtout, de toute qualité (heureusement les utilisateurs peuvent noter les Bundles). Alors pour vous faciliter la vie, vous trouverez ci-dessous une liste de quelques uns des bundles les plus pratiques et les plus connus du framework PHP.

PS : souvent, il est demandé d’installer les bundles via GIT, en utilisant le fichier deps de Symfony2. Sur Windows, remplacez simplement « git:// » par « http://« , ça marchera mieux :)

 

FOSUserBundle

Certainement le plus connu des bundles Symfony2, FOSUserBundle ajoute la gestion des utilisateurs via la base de données. Il permet la gestion complète des utilisateurs, et notamment leur inscription (avec envoi optionnel de mail de confirmation), la gestion des mots de passe oubliés.
A noter que le bundle supporte Doctrine, MongoDB et Propel.

 

GenemuFormBundle

Ce bundle regroupe tout un tas d’outils orientés sur les formulaires, comme les systèmes de validation « captcha », TinyMCE, le datepicker jQueryUi ou un color picker. Tous ces composants peuvent être utilisés sur Symfony2 tels des composants natifs de formulaire.
Ci-dessous, un exemple d’intération d’un champs « TinyMCE » dans un formulaire, grâce à Genemu :

<?php
// ...
public function buildForm(FormBuilder $builder, array $options)
{
    $builder
        // ...
        ->add('content', 'genemu_tinymce');
}

WhiteOctoberPagerfantaBundle

Un bundle vraiment pratique ! Comme vous l’aurez deviné grâce à son nom, Pagerfanta permet de gérer ultra-simplement la pagination de vos pages, avec une flopée d’options, comme le style de pagination (celle du Twitter Boostrap est intégrée nativement au bundle ;) ), la « proximité » des pages affichées,…

FOSRestBundle

FOSRestBundle, comme son nom l’indique, est un bundle qui permet l’intégration très rapide d’une API REST sur votre site Symfony2. Le bundle devine instinctivement ce que l’on désire récupérer grâce aux URL, et le retourne sous divers formats (CSV, XML, json). Idéal pour mettre en place des webservices sur vos applications Symfony2 !
Attention, ce bundle est encore en développement

No comments yet

Leave a Reply

*