Tp 5 php classes heritages traits interfaces blogpoo
Thème :
Junior
1 vues ·10/12 leçons09. Modernisation des Requêtes : Named Arguments
PHP 8 a introduit les Named Arguments (Arguments Nommés), permettant de passer des valeurs à une fonction en spécifiant le nom du paramètre.
Transformation de findAll()
Nous avons refactorisé la récupération des données pour être plus performante et lisible.
Avant :
On utilisait fetchAll() qui chargeait tout le tableau en mémoire, puis on transformait chaque ligne.
Après (Excellence) :
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$articles[] = new self(
id: (int) $row['id'],
title: $row['title'],
slug: $row['slug'],
created_at: new DateTimeImmutable($row['created_at']),
// ...
);
}
Avantages :
- Lisibilité : Dans le constructeur, on voit exactement quelle colonne de la BDD correspond à quelle propriété. Plus besoin de compter les virgules.
- Ordre libre : Vous pouvez passer les paramètres dans l’ordre que vous voulez tant qu’ils sont nommés.
- Mémoire (Streaming) : En utilisant
whileavecfetch(), PHP ne garde qu’une seule ligne en mémoire à la fois. C’est crucial si vous avez des milliers d’articles. - Typage (Casting) : On en profite pour forcer le type (ex:
(int)), ce qui rend notre objet parfaitement typé dès sa naissance.
Prêt à passer à la suite ?
Vous avez terminé cette leçon sur 09. Modernisation des Requêtes : Named Arguments. Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.