Outils pour utilisateurs

Outils du site


doctrine1

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
doctrine1 [2022/09/15 13:36] – [Ajout de la nouvelle route] admindoctrine1 [2023/11/06 13:06] (Version actuelle) admin
Ligne 14: Ligne 14:
  
 Cette étape consiste à indiquer au projet l'adresse de la base de données, son nom, et le login/mot de passe du compte permettant de s'y connecter. Cette étape consiste à indiquer au projet l'adresse de la base de données, son nom, et le login/mot de passe du compte permettant de s'y connecter.
-Pour cela, éditer le fichier de configuration .env (dans c:\wamp64\www\webstudent\ ou à la racine du projet) et décommenter et adapter la ligne  ci-dessous+Pour cela, vérifier votre fichier de configuration .env (dans c:\wamp64\www\webstudent\ ou à la racine du projet) 
 <code> <code>
 #DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name #DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name
Ligne 21: Ligne 21:
 Exemple : Exemple :
 <code> <code>
-DATABASE_URL="mysql://root:@127.0.0.1:3307/webstudent?serverVersion=mariadb-10.6.5"+DATABASE_URL="mysql://root:@127.0.0.1:3307/webstudent?serverVersion=mariadb-10.10.2"
 </code> </code>
-Cette configuration permet de se connecter à une base de données mysql nommée webstudent, située localement. Le compte de connexion est root, sans mot de passe.+Cette configuration permet de se connecter à une base de données mariadb nommée webstudent, située sur le poste local. Le compte de connexion est root, sans mot de passe.
  
-La console permet ensuite de créer la base de données en exécutant la commande ci-dessous :+Si vous n'avez pas encore créé la base de données sous mariadb ou mysql, la console permet de créer la base de données en exécutant la commande ci-dessous :
 <code> <code>
 > php bin/console doctrine:database:create > php bin/console doctrine:database:create
Ligne 31: Ligne 31:
 {{sfndbcreation.png}} {{sfndbcreation.png}}
  
-Lors de l'exécution de la commande, l'instruction sql qui est exécutée est affichée. 
  
 ===== Créer une entité = classe métier ===== ===== Créer une entité = classe métier =====
Ligne 79: Ligne 78:
 Ajout de la méthode ajouterEtudiant dans EtudiantController Ajout de la méthode ajouterEtudiant dans EtudiantController
 <code> <code>
-public function ajouterEtudiant(){+public function ajouter(ManagerRegistry $doctrine){
   
  // récupère le manager d'entités  // récupère le manager d'entités
-        $entityManager = $this->getDoctrine()->getManager();+        $entityManager = $doctrine->getManager();
  
         // instanciation d'un objet Etudiant         // instanciation d'un objet Etudiant
Ligne 105: Ligne 104:
  
 une erreur apparaitra car la classe métier (l'entité) Etudiant n'est pas connue de EtudiantController. une erreur apparaitra car la classe métier (l'entité) Etudiant n'est pas connue de EtudiantController.
-Il faut donc l'importer en ajoutant la ligne ci-dessous au niveau des use (imports)+Il faut donc l'importer en ajoutant la ligne ci-dessous au niveau des use (imports) ainsi que le manager d'entités.
 <code> <code>
-use App\Entity\Etudiant+use App\Entity\Etudiant
 +use Doctrine\Persistence\ManagerRegistry;
 </code> </code>
 ==== Création de la vue ==== ==== Création de la vue ====
Ligne 158: Ligne 158:
  
 <code> <code>
- public function consulterEtudiant($id){ + public function consulterEtudiant(ManagerRegistry $doctrine, int $id){ 
-  + 
- $etudiant = $this->getDoctrine() + $etudiant= $doctrine->getRepository(Etudiant::class)->find($id);
-        ->getRepository(Etudiant::class) +
-        ->find($id);+
  
  if (!$etudiant) {  if (!$etudiant) {
Ligne 187: Ligne 185:
  
 ===== Lister les étudiants ===== ===== Lister les étudiants =====
-EtudiantController, méthode permettantd e lister les étudiants+EtudiantController, méthode permettant de lister les étudiants
 <code> <code>
- public function listerEtudiant(){ + public function listerEtudiant(ManagerRegistry $doctrine){ 
- $repository = $this->getDoctrine()->getRepository(Etudiant::class); + 
- $etudiants = $repository->findAll();+                $repository = $doctrine->getRepository(Etudiant::class); 
 +  
 + $etudiants= $repository->findAll();
  return $this->render('etudiant/lister.html.twig', [  return $this->render('etudiant/lister.html.twig', [
             'pEtudiants' => $etudiants,]);              'pEtudiants' => $etudiants,]);
doctrine1.1663249005.txt.gz · Dernière modification : 2022/09/15 13:36 de admin