Your SlideShare is downloading. ×
Symfony 2 : chapitre 3 - Les modèles en Doctrine 2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Symfony 2 : chapitre 3 - Les modèles en Doctrine 2

1,185
views

Published on

Troisième chapitre d'une formation Symfony 2, …

Troisième chapitre d'une formation Symfony 2,
l'Objectif de ce chapitre peut se résumer dans les points suivants :
- Présentation de l'ORM Doctrine 2
- Génération d'entité et utiliser les annotations pour modéliser une base de donnée relationnelle
- Écriture et Lecture des données.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,185
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
262
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Doctrine 2 utilise un système de transaction, la méthode flush permet d’acter toutes les persistances déjà faite
  • Transcript

    • 1. 1
    • 2. Symfony 2.0 ABDELKADER RHOUATI ABDELKADER.RHOUATI@GMAIL.COM COURS SF 2.0 - 2013 2
    • 3. 3 Chapitre 3 : Les modèles en Doctrine
    • 4. Symfony 2.0 Les modèles = Les entités  ORM (Object-Relational Mapping ) : Fait la relation entre les données orientées objet et les données relationnelles.  Les Entités sont des classes métiers qui décrivent chaque objet de notre application. 4
    • 5. Doctrine 2 , EntityManger et repository Produit 1 Produit 2 $em->getRepository (‘GestionProduitsBu nle: Produit’) Categorie 1 Categorie 2 $em->getRepository (‘GestionProduitsBunle: Categorie’) $em = $doctrine->getEntityManager() $doctrine = $this->getDoctrine () 5  Les Repository récupèrent les entités depuis la base de données il en existe un par EntityManager permet de entité. :  gérer la persistance des objets  exécuter les requêtes SQL Doctrine est un service qui gère :  La connexion avec la base de données  Le gestionnaire d'entités (EntityManager)
    • 6. Créer une entité (Modèle) Pour 6 matérialiser les tables en BDD , il faut Créer l’entité : : php app/console doctrine:generate:entity
    • 7. Créer une entité (Modèle) 7
    • 8. Entité : Liaison vers la table 8
    • 9. Créer une entité (Modèle) Ce n’est pas encore finis : 1- Configurer les informations de BDD dans le fichier app/config/parametrs.ini 2- s’assurer que le paramètre auto_mapping est à true Dans le fichier app/config/config.yml 3- Création de la bdd : php app/console doctrine:databse:create 4- Génération des tables : php app/console doctrine:schema:create NB: Modification des tables possible via la commande php app/console doctrine:schema:update --force 9
    • 10. Relation entre entités  Notion de propriétaire et d’inverse  10 Relation à sens unique ou à double sens  Unidirectionnalité et de Bidirectionnalité Exemple Référence des annotations possibles : http://docs.doctrine-project.org/en/2.0.x/reference/annotations-reference.html
    • 11. Relation entre entités : OneToMany 11 targetEntity : L’entité en relation avec l’entité en question mappedBy : il s’agit de l’attribute de l’entité cible qui illustre la relation entre les deux entités NB : Obligatoirement dans l’entité target il faut avoir une définition d’attribut avec le mot clé ManyToOne
    • 12. Relation entre entités : ManyToOne 12 targetEntity : L’entité en relation avec l’entité en question inversedBy : il s’agit de l’attribute de l’entité cible qui illustre la relation entre les deux entités NB : Obligatoirement dans l’entité target il faut avoir une définition d’attribut avec le mot clé OneToMany
    • 13. Relation entre entités : ManyToMany 13 targetEntity : L’entité en relation avec l’entité en question inversedBy : il s’agit de l’attribute de l’entité cible qui illustre la relation entre les deux entités
    • 14. Enregistrer des données en Base 1- Instancier un objet de la classe d’entité : 2- Enregistrer en base de donnée 14
    • 15. Récupérer des données à partir d’une entité 1/3  Exécuter une requête SQL  Récupérer l’article d’id 5 15
    • 16. Récupérer des données à partir d’une entité 2/3  Récupérer tous les enregistrements  Définir des conditions de requêtes 16
    • 17. Récupérer des données à partir d’une entité 3/3  Utiliser les « Query builder » 17