Académique Documents
Professionnel Documents
Culture Documents
I. Introduction
II. Qu’est ce qu’un framework PHP ?
III. L’architecture MVC
IV. Mise en route
V. Les bundles
VI. Les pages
VII. Les templates
VIII. Doctrine
IX. Le profiler
X. Démonstration
XI. Conclusion
• Symfony est un framework PHP basé sur l’architecture
MVC.
• Il a été créé en 2005 par une agence web Française qui
s’appelle Sensio Labs, pour leurs propres besoins.
• Il sera rendu libre plus tard pour la communauté PHP.
• La dernière version stable est PHP 2.0.12, sortie en 19 Mars
2012.
• Symfony2 est exécutée sur PHP5 et requiert une version
supérieure à 5.3.2
• Une documentation très riche, et une communauté très
active
• Cadre de travail, imposant une certaine architecture à
respecter.
• Facilite le travail du développeur web, en offrant la gestion
des erreurs, la réutilisabilité du code.
• Facilite la maintenabilité de l’application en séparant ses
différentes parties.
• Il existe plusieurs d’autres frameworks PHP comme Zend,
CodeIgniter et CakePHP
Vue
Contrôleur
Modèle
• Une application Symfony2 se constitue des dossiers suivants :
app/ : Configuration de l’application
src/ : Code PHP du projet ( Namespace / Bundle )
vendor/ : Dépendance de parties tierces
web/ : Dossier racine du projet
• Il faut copier le contenu du dossier Symfony2 dans la racine
du serveur /www ou un sous-dossier de la racine
• Vérifiez les éventuels prérequis de l’application, en exécutant
le script app/check.php
• Si la page welcome s’affiche
http://localhost/Symfony/web/app_dev.php/
L’installation s’est bien passé et vous pouvez désormais
commencer à travailler
• C’est un ensemble de fichiers structurés dans un seul dossier,
assurant la même fonctionnalité. Exemple : BlogBundle,
ForumBundle.
• Les fichiers peuvent être des : Classes PHP, Templates, Feuilles de
style, Fichiers JavaScript ou tout autre fichier relatif à la
fonctionnalité du bundle.
• Il existe plusieurs bundles Open-Source faits par la communauté de
Symfony.
• On peut générer un bundle via cette commande :
php console generate:bundle --namespace=Exemple/ExempleBundle --format=yml
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
Symfony\src\Exemple\ExempleBundle\Resources\views\Default\index.html.twig
{% extends "AcmeDemoBundle::layout.html.twig" %}
{% block content %}
<h1>Hello {{ name }} !</h1>
{% endblock %}
• Outil accessible en mode « dev » permettant d’analyser les
requêtes
• Pratique pour faire du débogage et pour améliorer les
performances
• Permettant de voir l’intégralité d’une requête en
commençant par les passages de paramètres GET/POST, en
passant par les Cookies/Sessions et l’affichage de tous les
paramètres du serveur, ainsi que leurs valeurs au moment du
traitement de la requête
• Partie « modèle » de l’architecture MVC
• Permet la persistance des données
• On initialise la base de données avec :
php app/console doctrine:database:create
• On génère l’entité avec :
php app/console doctrine:generate:entity --
entity="AcmeStoreBundle:Product" --
fields="name:string(255) price:float
description:text"
• A partir du mapping des entités que l’on a, on va pouvoir
générer les tables :
php app/console doctrine:schema:update –force
• Pas d’intéraction directe avec la base de données
• Symfony2 est un Framework PHP qui facilite de façon
significative le travail du développeur
• Il permet une meilleure organisation, en adoptant
l’architecture MVC
• Le développement d’un projet web, devient plus simple et
plus rapide
• Gain de temps et d’argent