CRUD vs LSD !

Tout le monde connais le design pattern CRUD, accronyme de "Create-Read-Update-Delete"... Pour vous j'ai inventé (enfin je crois...) le LSD ! Accronyme de "Load-Save-Delete" !



Concrètement : prenons une table SQL utilisateur "User", composé d'un identifiant (user_id), d'un login (user_login), d'un mot de passe (user_paswd) et d'une adresse e-mail (user_email).


1) Dans un fichier qui représentera les objets manipulés en PHP (Entities), on décrit l'objet/table ainsi que son objet de recherche :

2) Dans un fichier d'accès aux données (DAO) on écrit le LSD, auquel on adjoint des fonctions privées pour la création de la requête SQL de recherche et la construction de l'objet User :

Il nous manque les méthodes privées de construction de requête et de remplissage de l'objet :
Et voilà !

Dorénavant, si je veux récupérer l'ensemble des utilisateurs, il me suffit de construire la fonction suivante :


Si je veux uniquement un ID bien précis :

De même pour une recherche sur l'adresse e-mail :
Mais que faire si nous voulons récupérer un groupe d'ID utilisateur ? Eh bien nous allons ajouter cette possibilité a la DAO en ajoutant simplement les lignes suivantes dans le bloc des conditions :
Enfin on peut tout a fait ajouter un "INNER JOIN" à la variable $sql dans une condition puis ajouter la condition sur l'INNER JOIN.

Dans 95% des cas le LSD permet toutes les opérations. Pour certaines opérations plus ardues, il suffit d'ajouter une fonction spécifique dans le fichier DAO et de se servir de la méthode privée FILL pour retourner un type d'objet cohérent.

Perso... J'adore.

Commentaires

Posts les plus consultés de ce blog

Vidange - Laguna III Coupé 2.0 DCI 150

RFID RC522 on Raspberry PI with NodeJS