1
ABDELKADER RHOUATI
ABDELKADER.RHOUATI@GMAIL.COM
COURS SF 2.0 - 2013
Symfony 2.0
2
Chapitre 4 :
Les services et les Formulaires
3
Les services
 Il s’agit d’un objet PHP qui effectue une sorte de tâche
globale
 Il est accessible depuis n’importe où da...
Les services 5
Les services
 Après la création de notre service, il faut signaler au
conteneur de services, Un service se définit par sa...
TP 1/3
 En utilisant le système de configuration yml, Ajouter une route
‘ensao_formation_index’
 Ajouter l’action ‘index...
TP 2/3
 Le contenu de la classe Info
8
TP 3/3
 Dans l’action ‘index’ du Contrôleur ‘FormationController’,
appeler le service crée :
9
Les formulaires : Construction
Un formulaire se construit sur un
objet existant et son objectif est
d’hydrater cet objet....
Les formulaires : Gestion de la soumission d’un formulaire
La soumission d’un formulaire se fait
en 3 étapes :
 Vérifier...
Les formulaires : Gestion de la soumission d’un formulaire 12
TP 1/6
 Configurer votre base de données (slide 33/34)
 Créer une entité : Contact (utiliser yml comme configuration)
 ...
TP 2/6
 Modifier le code de l’action ‘ajouter’ du contrôleur
‘FormationController’
14
TP 3/6
 Modifier le code de la vue ‘ajouter.html.twig’
 Vérifier que les données ont été bien enregistrées
 Vous devrie...
TP 4/6
 Créer une autre entity ‘Ville’ avec un seul champ name de
type string
 Ajouter quelques enregistrement dans la t...
TP 5/6
 Lancer les commandes suivantes :
 php app/console doctrine:generate:entities EnsaoFormationBundle:Contact
 Cett...
TP 6/6 18
 Vérifier que les données ont été bien enregistrées
Les fixtures
Les fixtures sont utilisées pour
charger un ensemble de données dans
une base de données
19
Prochain SlideShare
Chargement dans…5
×

Symfony 2 : chapitre 4 - Les services et les formulaires

2 529 vues

Publié le

Quatrième chapitre d'une formation Symfony 2,

0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 529
Sur SlideShare
0
Issues des intégrations
0
Intégrations
25
Actions
Partages
0
Téléchargements
265
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • FormBuilder est un constructeur de formulaire. « créer un formulaire autour de l’objet X »
    Un formulaire n’est pas du tout obligé d’hydrater tous les attributs d’un objet.
  • FormBuilder est un constructeur de formulaire. « créer un formulaire autour de l’objet X »
    Un formulaire n’est pas du tout obligé d’hydrater tous les attributs d’un objet.
  • FormBuilder est un constructeur de formulaire. « créer un formulaire autour de l’objet X »
    Un formulaire n’est pas du tout obligé d’hydrater tous les attributs d’un objet.
  • FormBuilder est un constructeur de formulaire. « créer un formulaire autour de l’objet X »
    Un formulaire n’est pas du tout obligé d’hydrater tous les attributs d’un objet.
  • Symfony 2 : chapitre 4 - Les services et les formulaires

    1. 1. 1
    2. 2. ABDELKADER RHOUATI ABDELKADER.RHOUATI@GMAIL.COM COURS SF 2.0 - 2013 Symfony 2.0 2
    3. 3. Chapitre 4 : Les services et les Formulaires 3
    4. 4. Les services  Il s’agit d’un objet PHP qui effectue une sorte de tâche globale  Il est accessible depuis n’importe où dans votre code  Un conteneur de services est une sorte de super-objet qui gère tous les services  L’intérêt du conteneur est d’organiser et d’instancier vos services  Chaque service est persistant  Liste des services disponibles php app/console container:debug 4
    5. 5. Les services 5
    6. 6. Les services  Après la création de notre service, il faut signaler au conteneur de services, Un service se définit par sa classe ainsi que sa configuration  La méthode load() de cet objet (Depen) est automatiquement exécutée par Symfony2 lorsque le bundle est chargé. Et dans ce tte méthode on charge le fichier de configuration services.yml  L’intérêt principal est de bien découpler les fonctions de notre application 6
    7. 7. TP 1/3  En utilisant le système de configuration yml, Ajouter une route ‘ensao_formation_index’  Ajouter l’action ‘indexAction’ qui retourne un rendu HTML.  Créer un service ‘ensao_formation.info’:  Créer un dossier dans l’arborescence du bundle ‘InfoEnsao’  Créer à l’intérieure une classe Info.php  Ajouter la configuration pour le service crée 7
    8. 8. TP 2/3  Le contenu de la classe Info 8
    9. 9. TP 3/3  Dans l’action ‘index’ du Contrôleur ‘FormationController’, appeler le service crée : 9
    10. 10. Les formulaires : Construction Un formulaire se construit sur un objet existant et son objectif est d’hydrater cet objet. 10
    11. 11. Les formulaires : Gestion de la soumission d’un formulaire La soumission d’un formulaire se fait en 3 étapes :  Vérifier que la requête est de quel type  Faire le lien entre les variables de la requête et le formulaire  Tester les valeurs pour vérifier qu’elles sont valides avec ce que l’objet attend  http://symfony.com/fr/doc/current/book/forms.html 11
    12. 12. Les formulaires : Gestion de la soumission d’un formulaire 12
    13. 13. TP 1/6  Configurer votre base de données (slide 33/34)  Créer une entité : Contact (utiliser yml comme configuration)  php app/console generate:doctrine:entity  Penser à lancer les commandes suivantes :  php app/console doctrine:schema:update –dump-sql  php app/console doctrine:schema:update –force  Ajouter un lien contact dans le template base.html.twig  Au moment de création de l’entity, ajouter trois champs (name et email de type string , message de type text) 13
    14. 14. TP 2/6  Modifier le code de l’action ‘ajouter’ du contrôleur ‘FormationController’ 14
    15. 15. TP 3/6  Modifier le code de la vue ‘ajouter.html.twig’  Vérifier que les données ont été bien enregistrées  Vous devriez avoir comme suit: 15
    16. 16. TP 4/6  Créer une autre entity ‘Ville’ avec un seul champ name de type string  Ajouter quelques enregistrement dans la table ville via phpmyadmin  Ajouter une relation de type ‘manyToOne’  Modifier le fichier ‘Contact.orm.yml’ 16
    17. 17. TP 5/6  Lancer les commandes suivantes :  php app/console doctrine:generate:entities EnsaoFormationBundle:Contact  Cette commande va générer les getters et setters pour le nouveau champ ‘ville’ de la classe ‘Contact’  php app/console doctrine:schema:update --dump-sql  php app/console doctrine:schema:update --force  Modifier l’action ‘ajouter’ 17
    18. 18. TP 6/6 18  Vérifier que les données ont été bien enregistrées
    19. 19. Les fixtures Les fixtures sont utilisées pour charger un ensemble de données dans une base de données 19

    ×