Vous n'êtes pas identifié(e).
Dernière modification par otyugh (01-02-2018 00:30:33)
En ligne
Dernière modification par Artheriom (21-02-2018 15:49:42)
Étudiant en Master à l'Institut Informatique d'Auvergne.
Parfois je fais des trucs sur le Oueb", et généralement ça fonctionne. Fondateur de Goldheim https://goldheim.fr/
Linuxien convaincu depuis 2010. Adepte de Debian, CentOS, Mandrake, Ubuntu, SolusOS. Mandravia, c'était pas si mal.
Hors ligne
@otyugh > C'est une bonne méthode de programmation, forger des requêtes génériques et passer les arguments derrière. Tant que les requêtes sont préparées et parsées correctement...
Et tant qu'on a pas une migration à faire sur une table... Après faut penser à modifier toutes les requêtes concernées dans les fonctions. Je comprends les raisons de faire un projet à la mimine : pas de contraintes imposées par un framework, plus rapide car moins de dépendances... mais un bon vieil ORM des familles ça fait quand même bien plaisir!
Bon, dans tous les cas, c'est trop tard pour vous. Je pense qu'en effet la solution des fonctions est la plus simple (mais pas la plus propre). Essayez de mutualiser au maximum (DRY - Don't Repeat Yourself):
Par exemple : un getUserById et un getUserByName c'est un getUser... donc créer une fonction getUser qui génère le SQL pour récupérer un user. Exemple:
et getUserById ferait un truc dans le genre :
Bon, c'est pas parfait, mais c'est juste pour montrer l'idée. Comme ça, le jour où un truc change, vous êtes tranquille. Par contre, ça vous fait créer plein de fonctions pour chaque requête... c'est lourd.
Perso, j'identifierai les besoins de vos requêtes. J'essaierai d'établir une hiérarchie d'appels dont je me servirai pour créer une factory qui me pondera mon SQL à la demande.
Un truc qui pourra être appeler comme ça :
De cette façon, on n'a qu'une seule factory qui gère tout. ça simplifie les appels et niveau maintenant, c'est centralisé. Par exemple si vous voulez faire un UPDATE :
ça reste schématique hein... je dis pas que c'est la meilleure solution mais ça me parait pas trop mal
Hors ligne