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

2 568 vues

Publié le

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.

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

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

Aucune remarque pour cette diapositive
  • Doctrine 2 utilise un système de transaction, la méthode flush permet d’acter toutes les persistances déjà faite
  • Symfony 2 : chapitre 3 - Les modèles en Doctrine 2

    1. 1. 1
    2. 2. Symfony 2.0 ABDELKADER RHOUATI ABDELKADER.RHOUATI@GMAIL.COM COURS SF 2.0 - 2013 2
    3. 3. 3 Chapitre 3 : Les modèles en Doctrine
    4. 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. 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. 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. 7. Créer une entité (Modèle) 7
    8. 8. Entité : Liaison vers la table 8
    9. 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. 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. 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. 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. 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. 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. 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. 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. 17. Récupérer des données à partir d’une entité 3/3  Utiliser les « Query builder » 17

    ×