Salut, la classe entity est apparement une class parente ce qui, permet à ta classe ..Table.php d'hériter de toute les méthodes et possibilité de la class entity (j'ai pas regarder le tuto donc sans code c'est difficile de mieux t'expliquer)
Bonjour,
Je vais sûrement passer pour un c.. mais il n'est jamais trop tard pour réctifier le tire ^^
Donc j'utilise une architecture semblable à celui vu dans le tuto sur le modele mvc.
Depuis plusieurs mois déjà, lorsque je créais des tables, j'ajoutais un fichier ...Table.php et un fichier ...Entity.php en laissant ce dernier vide juste extends class entity.
Sans ce fichier, j'obtiens une erreur php. Donc ma question est à quoi sert ce fichier ? Comment l'utiliser ? J'ai revu cette partie dans la video de grafikart mais je n'ai toujours pas pigé !
Merci d'avance pour vos réponses !
10 réponses
Ok merci de ta réponse, mais concrètement, je mets quoi dans mes fichiers ..entity? je les laisse vide ?
Voici un bout de code de ma class Table :
et voici le code de ma class Entity :
Salut,
En fait c'est le contraire de ce que dis @Sparkosis (même si sa logique était bonne ^^): la classe ...Entity représente un entité de ta table (un enregistrement si tu préfères) et celle-ci hérite de la classe ...Table qui représente la table de manière générale. Elle accueillera la logique inhérente à la table et non à l'entitée (par ex. si tu veux créer une méthode permettant de truncate la table, elle aura toute sa place dans la classe ...Table car elle affectera ta table dans son entier et pas seulement un enregistrement en particulier).
En gros c'est pour séparer la logique :)
Petit exemple pour expliquer la logique du truc (cela n'a rien à voir avec la structure de code des tutos de @Grafikart, c'est juste pour expliquer la logique) :
En tout cas c'est comme ça que j'aurais fait les choses perso. Je ne me rappelle plus de l'architecture du projet de Grafikart pour cette série de tutos ^^
Si ce n'est pas clair, n'hésite pas ;)
Oups ouep mes excuses pour le coup j'avais mal compris ^^"
désolé je comprends pas bien, du coup si je souhaites faire la recherche d'un élément, il est préférable de le faire dans mon fichier Entity (je dois faire l'inverse depuis le début dans ce cas)? En fait je comprends mieux avec des exemples...
J'ai edit mon exemple, peut-être que tu comprendras mieux ;)
OK je comprends mieux ! Donc c'est ce que je faisais, sauf pour la party entity. En fait lorsque j'ai besoin d'un élément, je vais le chercher depuis mon controller, je charge la méthode de la table dont j'ai besoin :
et ensuite si je souhaite utiliser cet objet je fais:
Donc du coup quel est l'interêt de l'écrire dans le fichier entity ? Et quel est le principe d'utilisation entre l'entity et le controller ?
Le controller accueillera ta logique métier, tandis que tes entités vont gérer la logique sur les données (si je ne me trompe pas).
Après, normalement, si tu fais une query via la méthode query(), tout doit s'instancier à la volée toi tu récupères juste le jeu de résultats (il me semble si mes souvenirs sont bons, que c'est comme ça que ça fonctionne)
ok c'est bon je comprends mieux merci en tout cas !
Avec plaisir ;)