View
569
Download
4
Category
Preview:
DESCRIPTION
Quatrième chapitre d'une formation Symfony 2,
Citation preview
1
ABDELKADER RHOUATI ABDELKADER.RHOUATI@GMAIL.COMCOURS SF 2.0 - 2013
Symfony 2.02
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ù 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
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 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
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
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.
10
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.ht
ml
11
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)
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
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 devriez avoir comme suit:
15
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
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
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
Recommended