Documentation · Chapitre 07

Conserver les données
après la requête.

Une session peut retenir quelques valeurs, mais une vraie application a besoin d’un stockage durable, organisé et interrogeable.

Nous remplaçons le stockage temporaire de reading-list par SQLite, sans changer l’objectif de l’application.

≈ 90 min

Jusqu’ici, notre bibliothèque avait une mémoire courte.

Les livres vivaient dans la session du navigateur. Un autre visiteur ne voyait pas la même liste et une session expirée pouvait tout faire disparaître. Une base de données conserve les enregistrements indépendamment d’une page ou d’un visiteur.

Une base ressemble à une bibliothèque bien tenue

Table

Un catalogue consacré à un type de chose, ici books.

Ligne

Un livre précis enregistré dans le catalogue.

Colonne

Une information commune : titre, auteur, date.

Clé primaire

L’identifiant unique qui distingue deux livres.

Le trajet d’une donnée

phpaml — zsh
Formulaire → Contrôleur → Entité Book → DbContext → SQLite
SQLite → DbSet<Book> → Contrôleur → Vue

PHPAML Data ne remplace pas la base : il traduit entre les objets PHP et le stockage. Cette couche porte le nom d’ORM, pour Object-Relational Mapping.

VOCABULAIRE

Les mots à retenir

PersistanceConservation des données après la fin d’une requête.
SchémaStructure des tables et colonnes.
EntitéObjet PHP représentant un enregistrement.
MigrationModification versionnée du schéma.

EN RÉSUMÉ

Ce qu’il faut retenir

  • La session appartient à une visite; la base appartient à l’application.
  • Une table contient des lignes structurées en colonnes.
  • PHPAML Data relie les objets PHP au stockage.
  • Une migration fait évoluer la structure de manière reproductible.