symfony

Bonnes pratiques Symfony2 : notre condensé !

Après le Symfony Live 2013, pour tous ceux qui n’ont pas pu venir, voici notre condensé des bonnes pratiques à respecter avec Symfony2 :

  • Lire et relire la documentation officielle pour rester à jour.
  • Respecter les codings standards (voir Coding standars et CSFixer).
  • Découpage en Bundle : Créer un bundle pour gérer une fonctionnalité globale (ex: partie forum) ou s’il a vocation à être réutilisé.
    Attention : ne pas forcement découper ses fonctionnalités en plusieurs bundle si elle sont interdépendantes.
  • Définir une configuration pour ses bundles via le DI : permet de ne charger que le nécessaire, de valider la configuration, afficher des messages d’erreurs clairs, etc.
  • Si possible, ne pas mélanger Symfony2 et logique métier. Découper les objets métier en deux : le mapping SF2 dans une entité, la logique métier dans un model distinct.
  • Pas de logique métier dans les contrôleurs. Faire appel à des services et des repository puis passer le resultat à la vue.
    Penser aux annotations pour alleger les controlleurs.
  • Toujours écrire des FormType pour faire des formulaires. Les déclarer en service et leur passer des arguments (plutôt que de leur passer des options).
  • Faire un service pour gérer la session (qui prend la session en argument) plutôt que de la gérer à plusieurs endroits dans les contrôleurs.
  • Utiliser le DIC ! (Dependency Injection Component).
  • Travailler avec des Test unitaires et fonctionnels. Avec les outils intégrés et ceux disponibles en parallèle.
  • Utiliser Twig et Assetic.
  • Écrire des commandes pour les tâches répétitives.
  • Internationaliser dès le début du projet.
  • En environnement de développement : Utiliser le Profiler, intercepter les redirections.
  • En production : supprimer app_dev.php et autres, fournir une clé secrète, activer les CSRF, activer les caches Doctrine, personnaliser les pages d’erreurs.

Et aussi :

De manière général, veiller à la qualité et respecter les bonnes pratiques dans tous les aspects du projet : configuration serveur, HTML, CSS, Javascript, Git, etc.

Un grand merci à Tugdual Saunier icon smile Bonnes pratiques Symfony2 : notre condensé !

Sources:

Conférence au Symfony Live 2013 : “42 bonnes pratiques pour Symfony2″ par Tugdual Saunier – Sensio

Related posts:

2 thoughts on “Bonnes pratiques Symfony2 : notre condensé !

  1. Bonjour,

    Merci pour ce condensé de tips SF2.

    Cependant, pourriez-vous développer le point “découper des objets métier en deux” ? Je ne suis pas sure de bien comprendre.
    Les objets métiers représentés par les entités, l’utilisation des annotations déportées et le pattern data mapper de Doctrine 2 ne répond-t-il pas à cette problématique de découplage ?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>