1
Symfony 2.0

ABDELKADER RHOUATI
ABDELKADER.RHOUATI@GMAIL.COM
COURS SF 2.0 - 2013

2
3

Chapitre 1 :
Vue d'ensemble de Symfony 2
Symfony 2, un Framework
PHP

4



Symfony2 est un Framework PHP open source , c' est-à-dire une
boite à outils faite en P...
Télécharger Symfony 2.2




5

Disponible sur le lien : http://symfony.com/download
Deux options de téléchargement :
1.
...
Première Installation 1/3


Décompressez les fichiers dans votre répertoire web
habituel, par exemple "C:wampwww" pour Wi...
Première Installation 2/3


7

Configuration de votre instance Symfony :
http://localhost/symfony/web/app_dev.php/_config...
Première Installation 3/3


8

C‟est bon ! Vous pouvez maintenant vous connecter à votre
premier application Symfony 2 :
...
Arborescence des fichiers


9

4 principaux répertoires :
1.

app/ : Contient les fichiers des applications sauf
le code ...
10

Symfony et
MVC 2
La notion de « Bundle »


Un bundle est une brique de votre application, permet de
regrouper toutes les ressources



11...
Créer un « Bundle »


Dans la racine de Symfony, taper la commande :

php app/console generate:bundle
Ensuite suivre les ...
Créer un « Bundle »
Générer un bundle en ligne de commande

13
Structure d‟un bundle

14



Controller/ : Contient les contrôleurs



DependencyInjection/ : les informations
sur votre...
Bundle :
Controller et View

15

 Récupère les informations http
 Renvois la réponse.
 Contient la logique de
l‟applica...
Créer un Bundle
Actions et Vues

16
Manipuler les variables
envoyées en POST et/ou GET

17



Récupérer l ' objet Request depuis notre contrôleur



Utilise...
La configuration : Système
d‟annotation

18



Plusieurs possibilité : yml, xml et annotation



L‟annotation est le moy...
Les Routes en Symfony

19



Les routes en Symfony2 déterminent quel contrôleur exécuter en
fonction de l‟URL appelé par ...
Les routes :
Règles 1/6


Declarer une route simple pour un contrôleur

20
Les routes :
Règles 2/6


Pour chaque route on peut definer :
1.

/{nom_variable}  à passer en paramètre de la méthode

...
Les routes :
Règles 3/6


Il est aussi possible de définir plusieurs URL‟s au même
controleur

22
Les routes :
Règles 4/6


23

Important : Pour que Symfony prend en compte les
annotations de routes définis dans le cont...
Les routes :
Règles 5/6


Définir pour chaque contrôleur un prefix d‟url

Lors de l’activation

Au niveau du fichier

24
Les routes :
Règles 6/6

25



Définir un nom pour chaque route , cela peut être utiliser pour
générer des liens dans les...
Symfony Possède un
système de cache


Pensez à vider le cache, des fois il suffit de le faire
pour votre code fonctionne ...
Prochain SlideShare
Chargement dans…5
×

Symfony 2 : chapitre 1 - Présentation Générale

4 734 vues

Publié le

Premier chapitre d'une formation Symfony 2,
l'Objectif de ce chapitre peut se résumer dans les points suivants :
- Présentation du framework Symfony en sa version 2.x
- Première installation de Symfony, et découvert de son arborescence projet
- Notion des Bundles : Notion de contrôleur et Vue + Réalisation d'un premier contrôleur
- Système des Routes : utilisation des annotations pour définir des routes

Publié dans : Technologie
0 commentaire
7 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
4 734
Sur SlideShare
0
Issues des intégrations
0
Intégrations
138
Actions
Partages
0
Téléchargements
437
Commentaires
0
J’aime
7
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Symfony 2 : chapitre 1 - Présentation Générale

  1. 1. 1
  2. 2. Symfony 2.0 ABDELKADER RHOUATI ABDELKADER.RHOUATI@GMAIL.COM COURS SF 2.0 - 2013 2
  3. 3. 3 Chapitre 1 : Vue d'ensemble de Symfony 2
  4. 4. Symfony 2, un Framework PHP 4  Symfony2 est un Framework PHP open source , c' est-à-dire une boite à outils faite en PHP dans but de vous simplifier le développement des applications et sites web.  Un Framework Français créé par la société SensioLab, en sa première version sortie en 2005  Une communauté active qui utilise le framework et qui contribue en retour Une documentation de qualité et régulièrement mise à jour Un code source maintenu par des développeurs attitrés Un code qui respecte les standards de programmation Un support à long terme garanti et des mises à jour qui ne cassent pas la compatibilité    
  5. 5. Télécharger Symfony 2.2   5 Disponible sur le lien : http://symfony.com/download Deux options de téléchargement : 1. Version " without vendors" . Les librairies tierces seront ainsi téléchargées via Git en exécutant le script « bin/vendors » situé dans l'archive exécutez la commande : 1. php bin/vendors install Version simple, avec les vendors, pour avoir toutes les librairies incluses
  6. 6. Première Installation 1/3  Décompressez les fichiers dans votre répertoire web habituel, par exemple "C:wampwww" pour Windows  Vérifier votre configuration PHP en accédant à l‟url : « http://localhost/symfony/web/config.php » 6
  7. 7. Première Installation 2/3  7 Configuration de votre instance Symfony : http://localhost/symfony/web/app_dev.php/_configurator  Configuration en deux étapes : 1. Données d‟accès à la base de donnée 2. Génération d‟un hashcode utilisé pour des raisons de sécurités
  8. 8. Première Installation 3/3  8 C‟est bon ! Vous pouvez maintenant vous connecter à votre premier application Symfony 2 : http://localhost/symfony/web/app_dev.php/
  9. 9. Arborescence des fichiers  9 4 principaux répertoires : 1. app/ : Contient les fichiers des applications sauf le code source, notamment; la configuration, le cache, les fichiers logs etc... 2. vendor/ : contient toutes les librairies externes, comme Doctrine, Twig, Swiftmailer… 3. Web/ : Ce répertoire contient tous les fichiers destinés aux visiteurs : images , fichiers CSS et JavaScript … Il contient également le contrôleur frontal (app.php), dont nous parlerons après. (NB: c‟est le seul repertoire qui doit être accessible par les internautes) 4. src/ : contient le code source des applications organisé sous forme de bundles (par défaut il contient un bundle d‟exemple fourni par Symfony)
  10. 10. 10 Symfony et MVC 2
  11. 11. La notion de « Bundle »  Un bundle est une brique de votre application, permet de regrouper toutes les ressources  11 Quel intérêt ? E n plus d' organiser votre code par fonctionnalité, la découpe en bundles permet l'échange de bundles entre applications ! Cela signifie que vous pouvez développer une fonctionnalité, puis la partager avec d'autres développeurs ou encore la réutiliser dans un de vos autres projets. Et de même utiliser des bundles d‟autre développeurs  Dans Symfony2, chaque partie de votre site est un bundle  Les Bundles de la communauté : http://knpbundles.com/
  12. 12. Créer un « Bundle »  Dans la racine de Symfony, taper la commande : php app/console generate:bundle Ensuite suivre les étapes sur la consoles 12
  13. 13. Créer un « Bundle » Générer un bundle en ligne de commande 13
  14. 14. Structure d‟un bundle 14  Controller/ : Contient les contrôleurs  DependencyInjection/ : les informations sur votre bundles  Ressources/ --- config/ : Contient les fichier de configuration, notamment les routes --- doc/ : contient la documentation --- public/ : Contient les fichiers publics de votre bundle : fichiers CSS et JavaScript, images, etc --- translations/ --- views / : Contient les vues de notre bundle ( les templates Twig )  Tests/ : Contient vos éventuels tests unitaires et fonctionnels.
  15. 15. Bundle : Controller et View 15  Récupère les informations http  Renvois la réponse.  Contient la logique de l‟application.  Considéré comme chef d‟orchestre qui fait la liaison entre tous les éléments.  Afficher le résultat de l‟ action  Assurer la séparation entre le code HTML et le code PHP,  Utilisation du moteur de template Twig.
  16. 16. Créer un Bundle Actions et Vues 16
  17. 17. Manipuler les variables envoyées en POST et/ou GET 17  Récupérer l ' objet Request depuis notre contrôleur  Utiliser l‟objet pour récupérer les variables GET et/ou POST GET : $request->query->get(„nom_variable‟) POST : $request->request>get(„nom_variable‟) Et Aussi les Cookies : $request->cookies->get(„nom_variable‟)  Pour les sessions : $session = $this->get('session'); $session->get('user_id')
  18. 18. La configuration : Système d‟annotation 18  Plusieurs possibilité : yml, xml et annotation  L‟annotation est le moyen le plus rapide et simple pour des projets de petite et moyenne taille  Comment ça marche ? Commentaire du genre : @MotCles(Valeur2, Valeur2…)
  19. 19. Les Routes en Symfony 19  Les routes en Symfony2 déterminent quel contrôleur exécuter en fonction de l‟URL appelé par l‟internaute  Annotation à ajouter au niveau des classes PHP des contrôleurs @Route([URL], [Param 1], [Param 2]… ) Important : n‟oublier pas d‟appeler la classe Route par le namespace suivant use SensioBundleFrameworkExtraBundleConfigurationRoute
  20. 20. Les routes : Règles 1/6  Declarer une route simple pour un contrôleur 20
  21. 21. Les routes : Règles 2/6  Pour chaque route on peut definer : 1. /{nom_variable}  à passer en paramètre de la méthode 2. requierements={“nom_variable” = [expression régulière]} 3. defaults={“nom_variable” = “”valeur par defaut} 21
  22. 22. Les routes : Règles 3/6  Il est aussi possible de définir plusieurs URL‟s au même controleur 22
  23. 23. Les routes : Règles 4/6  23 Important : Pour que Symfony prend en compte les annotations de routes définis dans le contrôleur, il faut l‟activer en ajouter les lignes suivantes au fichier de config “app/config/routing.yml” Par fichier : Par répertoire
  24. 24. Les routes : Règles 5/6  Définir pour chaque contrôleur un prefix d‟url Lors de l’activation Au niveau du fichier 24
  25. 25. Les routes : Règles 6/6 25  Définir un nom pour chaque route , cela peut être utiliser pour générer des liens dans les vues  Chaque route peut correspondre à une methode GET ou POST ou les deux
  26. 26. Symfony Possède un système de cache  Pensez à vider le cache, des fois il suffit de le faire pour votre code fonctionne correctement : php app/console cache:clear 26

×