Introduction
Au cours de ce tutorial, nous allons
nous lancer dans la création d'une application web en utilisant le framework symfony2. Nous allons créer
gestionnaire des films pas à pas:
- Chaque film comportes un ou plusieurs acteurs
- Chaque film est classé dans une Catégorie( Comédie, Science-fiction, etc )
MISE EN PLACE DE VOTRE BASE DE DONNÉES AVEC DOCTRINE
Nous allons commencer à créer les "Entity". En fait, symfony2 utilise doctrine pour communiquer avec la base de
données MySQL. Doctrine est un ORM qui va nous permettre de traiter toutes nos
tables comme de simples objets. Ainsi pour chacune des tables de notre
application, nous devons créer sa représentation objet.
Les entités vont être créées dans le
dossier Entity, donc, commençons par créer un dossier "Entity" dans
notre bundle: "Gestion_Films/src/HTM/FilmoBundle/Entity"
L’application nécessitant 4 tables "Film", "Acteur", "Categorie" et "Film_Acteur" table d’association entre film et acteur
Nous allons créer les 3 class Film,
Acteur et categorie pour la table film_acteur elle va être générer
automatiquement.
Configuration de la base de données
Avant de commencer, vous aurez besoin de
configurer vos informations de connexion de base de données. Par convention,
cette information est généralement configurée dans un fichier
app/config/parameters.yml
app/config/parameters.yml
Changer le nom de la base à : gestion_film
Maintenant que Doctrine connaît votre
base de données, vous pouvez l'avoir créer
php app/console doctrine:database:create
Création des classes (Entité)
Vous pouvez avoir Doctrine créé des
classes d'entités simples pour vous. Cela vous poser des questions interactives
pour vous aider à construire une entité
php app/console doctrine:generate:entity
Gérer les relations :
class Film{
//code du classe film
/*** @ORM\ManyToOne(targetEntity="Categorie")* @ORM\JoinColumn(name="categorie_id", referencedColumnName="id")
*/
Private $categorie;/*** @ORM\ManyToMany(targetEntity="Acteur")
* @ORM\JoinTable(name="Film_Acteur")
*/Private $acteurs;
Génération des Getters et Setters:
Pour les deux attributs que nous avons
déjà ajouté dans le class film il faut générer les Getters et Setters
php app/console doctrine:generate:entities FilmoBundle:Film
# ou bien
php app/console doctrine:generate:entities FilmoBundle
# génère toutes les entités du FilmoBundle
Créer les tables de la base:
Doctrine peut créer automatiquement
toutes les tables de base de données nécessaires pour chaque entité connue dans
votre application. Pour ce faire, exécutez:
php app/console doctrine:schema:update --force
Voici le vidéo de l'exemple
À la prochaine part 2 : Insertion et affichage des
données dans la base
Merci pour votre Attention
Aucun commentaire:
Enregistrer un commentaire