Cours Symfony


Tutoriel d’initiation à Symfony pour débutant

Tutoriel d’initiation à Symfony pour débutant
Tutoriel d’initiation à symfony pour tutoriel d’initiation à symfony pour débutant débutant démarrer un projet avec symfony le framework symfony est...

Développement d'applications Web avec le framework PHP Symfony 2

Développement d'applications Web avec le framework PHP Symfony 2
Développement d'applications web avec le framework développement d'applications web avec le framework php symfony 2 php symfony 2 mathieu peltier mercator océan (cnrs, observa...

Symfony en bref

Un cadre rationalise le développement d'applications en automatisant de nombreux modèles utilisés dans un but donné. Un framework ajoute également une structure au code, incitant le développeur à écrire un code meilleur, plus lisible et plus maintenable. En fin de compte, un framework facilite la programmation, car il regroupe des opérations complexes en simples instructions.


Symfony est un framework complet conçu pour optimiser le développement d'applications web grâce à plusieurs fonctionnalités clés. Pour commencer, il sépare les règles métier d'une application Web, la logique du serveur et les vues de présentation. Il contient de nombreux outils et classes visant à raccourcir le temps de développement d'une application web complexe. En outre, il automatise les tâches courantes afin que le développeur puisse se concentrer entièrement sur les spécificités d'une application. Le résultat final de ces avantages signifie qu'il n'est pas nécessaire de réinventer la roue chaque fois qu'une nouvelle application web est construite!

Symfony a été entièrement écrit en PHP 5. Il a été testé de manière approfondie dans divers projets réels et est actuellement utilisé pour des sites Web d'affaires électroniques à forte demande. Il est compatible avec la plupart des moteurs de bases de données disponibles, y compris MySQL, PostgreSQL, Oracle et Microsoft SQL Server. Il fonctionne sur les plateformes * nix et Windows. Commençons par regarder de plus près ses caractéristiques.

Caractéristiques de la framework Symfony

Symfony a été construit pour répondre aux exigences suivantes:

• Facile à installer et à configurer sur la plupart des plates-formes (et garanti pour fonctionner sur les plates-formes standard * nix et Windows)
• Indépendant du moteur de base de données
• Simple à utiliser, dans la plupart des cas, mais suffisamment flexible pour s'adapter aux cas complexes
• Basé sur la prémisse de la convention sur la configuration, le développeur doit configurer uniquement les éléments non conventionnels.
• Conforme à la plupart des meilleures pratiques Web et des modèles de conception
• Prêt pour l'entreprise - adaptable aux politiques et aux architectures de technologies de l'information (TI) existantes et suffisamment stable pour les projets à long terme
• Code très lisible, avec des commentaires phpDocumentor, pour une maintenance facile
• Facile à étendre, permettant l'intégration avec d'autres bibliothèques de fournisseurs

Fonctionnalités des projets Web automatisées

La plupart des fonctionnalités communes des projets web sont automatisées dans symfony, comme suit:

• La couche d'internationalisation intégrée permet la traduction des données et de l'interface, ainsi que la localisation du contenu.
• La présentation utilise des modèles et des mises en page qui peuvent être créés par des concepteurs HTML sans aucune connaissance du framework. Les assistants réduisent la quantité de code de présentation à écrire en encapsulant de grandes portions de code dans les appels de fonction simples.
• Les formulaires prennent en charge la validation et le repopulation automatiques, ce qui garantit une bonne qualité des données dans la base de données et une meilleure expérience utilisateur.
• L'échappement en sortie protège les applications contre les attaques via des données corrompues.
• Les fonctionnalités de gestion du cache réduisent l'utilisation de la bande passante et la charge du serveur.
• Les fonctions d'authentification et d'identification facilitent la création de sections restreintes et la gestion de la sécurité de l'utilisateur.
• Le routage et les URL intelligentes font de l'adresse de la page une partie de l'interface et des moteurs de recherche.
• Les fonctionnalités intégrées de gestion des e-mails et des API permettent aux applications Web d'aller au-delà des interactions classiques avec les navigateurs.
• Les listes sont plus conviviales grâce à la pagination, au tri et au filtrage automatisés.
• Les usines, les plug-ins et les mixins offrent un haut niveau d'extensibilité.
• Les interactions Ajax sont faciles à mettre en œuvre grâce à des aides d'une ligne qui encapsulent les effets JavaScript compatibles avec plusieurs navigateurs.

Symfony une framework PHP ?

Que vous soyez un expert en PHP 5 ou un débutant en programmation d'applications web, vous pourrez utiliser symfony. Le facteur principal pour décider de le faire ou non est la taille de votre projet.

Si vous voulez développer un site web simple avec cinq à dix pages, un accès limité à une base de données, et aucune obligation d'assurer ses performances ou de fournir de la documentation, alors vous devriez rester avec PHP seul. Vous ne bénéficieriez pas beaucoup d'un framework d'application Web, et l'utilisation de l'orientation objet ou d'un modèle MVC ralentirait probablement votre processus de développement. En remarque, symfony n'est pas optimisé pour fonctionner efficacement sur un serveur partagé où les scripts PHP peuvent s'exécuter uniquement en mode CGI (Common Gateway Interface).
D'un autre côté, si vous développez des applications web plus complexes, avec une lourde logique métier, PHP seul ne suffit pas. Si vous envisagez de maintenir ou d'étendre votre application à l'avenir, vous aurez besoin de votre code pour être léger, lisible et efficace. Si vous voulez utiliser les dernières avancées en matière d'interaction utilisateur (comme Ajax) de manière intuitive, vous ne pouvez pas écrire des centaines de lignes de JavaScript. Si vous voulez vous amuser et vous développer rapidement, PHP seul sera probablement décevant. Dans tous ces cas, symfony est pour vous.

Et, bien sûr, si vous êtes un développeur web professionnel, vous connaissez déjà tous les avantages des frameworks d'applications web, et vous en avez besoin d'un qui est mature, bien documenté et qui a une grande communauté. Ne cherchez plus, car symfony est votre solution.

Qui a fait Symfony et pourquoi?

La première version de symfony a été lancée en octobre 2005 par le fondateur du projet, Fabien Potencier. Fabien est le PDG de Sensio, une agence web française reconnue pour ses idées novatrices sur le développement web.

En 2003, Fabien a passé un certain temps à se renseigner sur les outils de développement open source existants pour les applications web en PHP. Il a constaté qu'aucun d'entre eux ne satisfaisait aux exigences décrites précédemment. Lorsque PHP 5 a été publié, il a décidé que les outils disponibles avaient atteint une maturité suffisante pour être intégrés dans un framework complet. Il a ensuite passé une année à développer le noyau de symfony, basant son travail sur le framework Mojavi Model-View-Controller (MVC), le mapping objet-relationnel Propel (ORM) et les helpers de templates Ruby on Rails.

Fabien a à l'origine construit symfony pour les projets de Sensio, car disposer d'un cadre efficace à votre disposition constitue un moyen idéal de développer des applications plus rapidement et plus efficacement. Il rend également le développement Web plus intuitif, et les applications qui en résultent sont plus robustes et plus faciles à maintenir. Le cadre est entré dans les motifs de preuve quand il a été employé pour construire un site Web de commerce électronique pour un détaillant de lingerie, et a ensuite été appliqué à d'autres projets.

Après avoir utilisé avec succès symfony pour quelques projets, Fabien a décidé de le publier sous une licence open source. Il l'a fait pour faire don de ce travail à la communauté, pour bénéficier du feed-back des utilisateurs, pour montrer l'expérience de Sensio et parce que c'est amusant.

Pour que symfony soit un projet Open Source réussi, il fallait disposer d'une documentation complète, en anglais, pour augmenter le taux d'adoption. Fabien a demandé à François Zaninotto. Il a fallu beaucoup de temps, mais lorsque le projet a été rendu public, il a été suffisamment documenté pour attirer de nombreux développeurs. Le reste est l'histoire.

La communauté Symfony

Dès le lancement du site web de symfony, de nombreux développeurs du monde entier ont téléchargé et installé le framework, lu la documentation en ligne et construit leur première application avec symfony, et le buzz a commencé à monter.
 
Les frameworks d'applications Web devenaient populaires à cette époque, et le besoin d'un framework complet en PHP était élevé. Symfony a offert une solution convaincante en raison de sa qualité de code impressionnante et de sa quantité importante de documentation - deux avantages majeurs par rapport aux autres acteurs de la catégorie du framework. Les contributeurs ont rapidement commencé à faire surface, proposant des correctifs et des améliorations, relisant la documentation et exécutant d'autres tâches indispensables.

Le référentiel de sources publiques et le système de billetterie offrent une variété de façons de contribuer, et tous les bénévoles sont les bienvenus. Fabien est toujours le principal committer dans le coffre du référentiel de code source, et garantit la qualité du code.

Aujourd'hui, le forum symfony, les listes de diffusion et le canal IRC (Internet Relay Chat) offrent des points de support idéaux, avec apparemment chaque question recevant en moyenne quatre réponses. Les nouveaux arrivants installent symfony tous les jours, et les sections wiki et extraits de code hébergent une grande quantité de documentation fournie par les utilisateurs. Le nombre d'applications symfony connues augmente en moyenne de cinq par semaine, en comptant.

Symfony