Guide sue le framework MVC, PHP, Symfony, Web.
Réalisez votre premier projet de Symfony2 , avec les bons outils, les meilleures pratiques et des conseils. Si vous voulez un guide pour s’introduire à Symfony2, ce cours est pour vous!
Plan de cours
- Introduction
- Pourquoi Symfony ?
- Intérêt d’un framework de développement
- Choix de Symfony
- Présentation de Symfony2
- Prérequis et installation
- Contenu de la distribution standard de Symfony2
- Architecture MVC.
- Modèle / Vue / Contrôleur
- Flux de traitement d’une requête HTTP dans Symfony2
- Fichiers de configuration
- Système de bundle
- Principales autres fonctionnalités
- Tests et Web Debug Toolbar
- Support de JavaScript et d’Ajax
- Services et conteneur de services
- Démonstration
Profitez de ce manuel de formation en PDF pour comprendre mieux le Symfony2 et enrichir votre connaissance.
Commencez à télécharger ce cours adapté pour vous et à apprendre Symfony2.
3 Présentation de Symfony 2
3.1 Prérequis et installation
Symfony 2 peut être téléchargé sous la forme de « distributions » qui contiennent le cœur du
framework constitué de composants modulaires, une sélection de « bundles » 4
additionnels et
(de façon optionnelle) les librairies tierces utilisées (par exemple Doctrine ou SwiftMailer). Seule
la distribution nommée « Symfony Standard Edition » est pour l'instant disponible. Elle contient
le script PHP bin/vendor s qui permet de télécharger ou de mettre à jour les librairies tierces
(contenues dans le répertoire vendor ) à partir des dépôts Git définis dans les fichier s deps et
deps.lock . Symfony et la plupart des bundles et librairies tierces disponibles utilisent en effet le
système de configuration Git et sont hébergés par le site github.com .
Symfony 2 peut être utilisé avec une base de données relationnelle ( MySQL, PostgreSQL,
SQLite, etc. ) et s'installe sans difficulté par exemple sur une plateforme LAMP classique . La
distribution standard inclut deux scripts exécutables en ligne de commande ( app /check.php) et via
le serveur Web ( web/config.php ) qui permettent de vérifier les prérequis nécessaires à
l'installation, le plus important étant l'utilisation de PHP 5.3.2 ou supérieur 5
. Symfony fournit en
effet une console d'administration ( app/console ) écrite en PHP et utilisable en ligne de commande
nécessaire à l'utilisation du framework au jour le jour et la configuration de PHP en ligne de
commande peut être différente de celle du serveur Web . Les répertoire s app/cache et app/logs
doivent être accessibles en lecture / écriture à l'utilisateur exécutant le serveur Web ainsi qu'à
celui exécutant des commandes avec la console. Le second script web/config.php permet
également de configurer la base de données. Enfin, pour des raisons de sécurité, il est
important que seul le répertoire web de la distribution soit accessible publiquement.
3.2 Contenu de la distribution standard de Symfony 2
La distribution standard contient les fichiers suivants :
Symfony/ <- archive décompressée (exemple Symfony_Standard_Vendors_2.0.0.tgz)
app/ <- configuration globale de l'application, répertoire du cache et des logs, console d'administration, etc.
cache/, config/, logs/, Resources/
autoload.php, check.php, console, phpunit.xml.dist, …
bin/ <- utilitaires divers
src/ <- répertoire à utiliser pour les développements de nouveaux bundles
vendor/ <- code du framework et des librairies tierces (Assetic, Doctrine, SwiftMailer, etc.)
web/ <- seul répertoire à exposer publiquement au sein du serveur Web
bundles/ <- fichiers statiques (CSS, JavaScripts, images, etc.)
app.php, app_dev.php, config.php, … <- « front controllers »
deps, deps.lock, …
3.3 Architecture MVC
Symfon y 2 est construit selon une architecture MVC (Modèle / Vue / Contrôleur) (voir [3] ). Le
modèle gère l'ensemble des interactions avec la base de données. Il fournit une abstraction de s
données et contient le code métier . Le contrôleur est responsable de la logique de contrôle de
l'application. En interaction avec le modèle, il génère les vues qui représentent l'interface
utilisateur.
4
Voir le paragraphe 3.5 pour plus d'information s sur les bundles.
5
L'utilisation d'un accélérateur PHP (APC, eAccelerator, etc. ) est également fortement conseillée. Pour utiliser Doctrine,
l'extension PHP PDO ( PHP Data Obje cts) ainsi que le driver PDO associé à la base de données cible sont aussi requis.
21/10/2011 3 / 8 JRES 2011