1 / 33

Développement d’applications web

Développement d’applications web. Les données. Besoins. Conserver certaines données Informations sur les utilisateurs, articles, commentaires Pouvoir modifier ces données Corrections, etc. Pouvoir supprimer certaines données. Bases de données relationnelles.

Télécharger la présentation

Développement d’applications web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Développement d’applications web Les données

  2. Besoins • Conserver certaines données • Informations sur les utilisateurs, articles, commentaires • Pouvoir modifier ces données • Corrections, etc. • Pouvoir supprimer certaines données

  3. Bases de données relationnelles • Permettent la gestion des données • Permettent d’établir des liens entre les données • Les données sont stockées sous forme de « tables », pas sous forme d’objets

  4. Fonctionnement • Chaque table représente un type de donnée • Utilisateur, articles, etc. • Chaque champs de la table représente un propriété de la donnée • Nom, prénom, date de naissance, login, mot de passe, etc.

  5. Exemple Users

  6. Fonctionnement • Si on veut ajouter des adresses à nos utilisateur ? • Une adresse est composée de plusieurs chose • Numéro, rue, ville, code postal, … • Un utilisateurpeutavoirplusieursadresses • => Il fautcréerune table pour stocker les adresses.

  7. Fonctionnement Adresses

  8. Fonctionnement • Comment savoir à quel utilisateur correspond une adresse ? • Il faut ajouter un champs dans la table adresse contenant l’Id de l’utilisateur à qui appartient l’adresse. • On parle de clé étrangère

  9. Fonctionnement • Toute action sur la base se fait via SQL • SQL = StructuredQueryLanguage • Ex: • CREATE TABLE users; • SELECT login,passwordFROM users WHERE login=‘Jdoe’ • …

  10. Systèmes existant • MySQL • PostgreSQL • Oracle • Etc.

  11. Utilisation • Les langages nous fournissent des fonctions permettant: • De se connecter au système de gestion de la base de donnée • D’envoyer une requête SQL et d’en récupérer le résultat • De se déconnecter du système de gestion de la base de donnée

  12. Utilisation: php • L’ancienne méthode:

  13. Utilisation: php • La nouvelle méthode:

  14. Problème • On récupère les données sous forme de tableau • [Id: 1, Nom: Doe, Prénom: John, …] • Nous voulons utiliser des objets

  15. Solutions • Le PDO le permet:

  16. Limitations • Si notre objet contient une liste d’autres objets • Ex: Un utilisateur avec plusieurs adresses • On utilise alors une autre table pour récupérer les adresses • Il faudra aller chercher les adresses à l’aide d’une autre requête soi-même et mettre à jour l’objet user. • L’interface PDO ne permet de sauvegarder directement un objet dans la base de donnée

  17. Les ORM • ORM = Object RelationalMaping • Servent à faire le lien entre la base de données et nos objets représentant les données dans notre code • Prennent en charge la création, la modification et la suppression d’objets • Permettent la gestion d’objets “complexes“ • Notre utilisateur avec plusieurs adresses par exemple

  18. Étude de cas • Les articles de blog et leurs commentaires. • Article: • Id • Titre • Auteur • Contenu • Commentaires • Date de création • Date de mise à jour

  19. Étude de cas • Commentaire • Id • Auteur • Commentaire • Approuvé • Article • Date de création • Date de mise à jour

  20. Lien entre les objets • Un article contient plusieurs commentaires • On parle de relation “one to many“ • Chaque commentaire est associé à un unique article • On parle de relation “many to one“

  21. Définition des objets

  22. Définition des objets

  23. Définition des objets

  24. Définition des objets

  25. Définition des objets

  26. Définition des objets

  27. Définition des objets

  28. Définition des objets

  29. Définition des objets

  30. Création des tables dans la base de données • Une simple commande de la console symfony nous permet de créer nos tables: • Si nous changeons plus tard des champs dans une classe, la base de données peut-être mise à jour via la commande: phpapp/console doctrine:database:create php app/console doctrine:schema:update --force

  31. Création d’un objet et stockage en base de données

  32. Avantages • On ne fait plus de requêtes directement sur la base de données • On récupère toujours des objets consistant et de classes que l’on a défini • On peut utiliser une conception objet de manière native

  33. Questions ?

More Related