A la découverte de Symfony2

Développer des applications web en PHP est une bonne chose, mais on aimerait cependant pouvoir créer des solutions plus rapides, efficaces, maintenables, et surtout de qualité. C'est en répondant à cette problématique que des frameworks ont été développés.

En PHP, on en retrouve de nombreux, cakePHP, Zend, et Symfony2 pour ne citer que les plus gros. Voyons ce que peut apporter Symfony2 a un projet web

Qu'est ce qu'un framework ?

Un framework (cadre de travail) permet d'améliorer la façon dont nous programmons en organisant d'une meilleure manière notre code. On retient surtout d'un framework le grand principe de MVC (modèle, vue, contrôleur)

  • Modèle : Le modèle représente chaque objet de notre application avec ses interractions avec la base de données
  • Vue : La vue reçoit des données et a pour unique but de les afficher
  • Contrôleur : Le controleur est la tour de contrôle de ce pattern. Il se charge de récupérer les données, les interpréter, et effectue des traitements avant des les envoyer à la vue.

mvc.png

C'est une manière totalement différente de programmer mais qui mérite d'être assimilée et utilisée car elle vous permettra de bien mieux programmer et de rendre votre code facilement maintenable.

Que propose Symfony2 ?

En plus de la programmation selon le modèle MVC, Symfony2 a de nombreux avantages :

  • Aucune interraction avec la base de données : Symfony2 embarque PDO et ORM (object relational mapper) afin de ne plus avoir à faire d'interraction avec votre base de données. Vous pouvez ainsi faire des traitements classiques, comme la récupération de données ou la sauvegarde d'un objet sans devoir faire des requêtes. Nuancons cependant ce point car pour les requêtes complexes, il faudra créer votre propre fonction très facilement pour interragir avec la base.
  • Pas de gestio ndu cache : Symfony2 vous permet de ne pas vous soucier du cache 
  • Gestion des formulaires : La création de formulaire est très facile et un même formulaire peut etre réutilisé plusieurs fois. Le processus de vérification est lui aussi automatisé.
  • Gestion d'utilisateurs : Symfony2 vous permet facilement de gérer la connexion, la déconnexion, la création, la gestion des sessions et des droits.
  • Gestion des erreurs et bien plus : Symfony2 offre un très bon outil de débogage et vous permet même de vous renseigner sur tout ce qu'il se passe dans votre application (variables globales, requêtes de base de données, logs, temps de chargement, etc.).
  • Moteur de template : De nombreux frameworks intègrent un moteur de templates. Celui-ci permet de simplifier grandement l'écriture de votre code HTML tout en étant propre et efficace.
  • Routage : Symsony2 intègre le routage pour vous faire profiter d'URLs complètement flexibles
  • Boundle : Votre projet sera décomposé en bundle qui seront des modules de votre site. Vous pouvez facile réutiliser vos bundle et même en récupérer sur Internet.

Pourquoi utiliser Symfony2 ?

Symfony2 est à privilégier car c'est un des frameworks les plus utilisés et a donc une grande communauté avec une bonnne documentation pour vous aider.

Cependant, Il convient d'avoir un bon niveau en PHP et en langage orienté objet pour parvenir à maîtriser ce framework.

Notez pour finir que Symfony2 est un projet Open-source français et en constante évolution. Vous pourrez par exemple le retrouver totalement intégré dans la nouvelle version de Drupal en sa version 8.

Partager cet article


Fatal error: Declaration of RulesRuleUI::form(&$form, &$form_state, $options = Array) must be compatible with RulesActionContainerUI::form(&$form, &$form_state, $options = Array, $iterator = NULL) in /homepages/45/d400923675/htdocs/fewwarev2/sites/all/modules/rules/ui/ui.plugins.inc on line 20