Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 27-04-2011 10:27:27

Farid63
Nouveau membre
Date d'inscription: 20-04-2011
Messages: 6

[Zend_Db][1.11] Utilisation d'une base de données

Bonjour à tous,

je débute dans ZF, j'essaie d'interagir avec une base de données et j'ai du mal à comprendre comment tout ça fonctionne.

Je suis la documentation officiel de ZF, le problème c'est qu'ils expliquent seulement comment interagir avec une seul table. Je cherche donc d'autres ressources sur le net et je me rends compte que la façon de faire n'est pas du tout la même dans les autres tutos, même pour une seule table.

Dans la documentation ZF on a : class Application_Model_DbTable_Guestbook extends Zend_Db_Table_Abstract + class Application_Model_Guestbook + class Application_Model_GuestbookMapper et dans la contrôleur, on créer une instance de la classe Mapper.

Dans un tutoriel (ZF 1.10) sur DVP on a : class Application_Model_DbTable_Albums extends Zend_Db_Table_Abstract qu'on instancie dans le contrôleur, et on appel ses méthodes, là aussi exemple pour une seule table.

Je sais que dans ZF, rien n'est imposer et le développeur est libre de faire comme il veut. Je voudrai donc utiliser la méthode ZF, mais j'ai du mal à comprendre l'utilité de tout ces fichiers et comment cela se passe pour une jointure.
J'ai lu des choses sur Zend_Db_Select, mais ou mettre ce code? Dans le contrôleur? C'est pas le rôle du modèle de construire les requêtes?

Merci d'avoir pris le temps de me lire, et n'hésiter pas à répondre même si vous n'avez qu'une partie des réponses à mes questions. wink

Si vous avez un exemple de code pour une base de données avec 2 tables, 1 requête simple et une jointure, ce serai le pied.

Hors ligne

 

#2 27-04-2011 12:11:54

nuxwin
Membre
Lieu: Caen (14)
Date d'inscription: 17-03-2011
Messages: 66

Re: [Zend_Db][1.11] Utilisation d'une base de données

Bonjour ;

La manière ZF ? Y'en a pas vraiment. Le ZF propose des composants, donne des directions, n'impose rien, ne vous dis pas "on doit faire comme ceci ou comme cela", surtout lorsque qu'il s'agit du modèle et de l'accès aux données...

Au regard de votre message, il est clair que vous ne savez pas ce qu'est un Data Mapper, pas plus qu'un Table Data Gataway. Il s'agit de design patterns, et je vous conseille de vous renseigner à leur sujet avant de vous jeter tête baissée dans les méandres des tutoriels y faisant référence explicitement ou implicitement par implémentation. Suivre des tutoriels sans connaître les bases ne vous apportera pas grand chose, croyez moi.

Dans l'immédiat, je vous conseille fortement de commencer par "jouer" avec Zend_DB qui fourni une API permettant de créer et exécuter des requêtes SQL facilement (voir la documentation associées). Ensuite vous pourrez vous intéresser à Zend_Db_Table et autres design patterns (patrons de conception).

Pour info:

Zend_DB: http://framework.zend.com/manual/fr/zen … apter.html et suivant
Zend_DB_Table: http://framework.zend.com/manual/fr/zend.db.table.html et suivant

Pour ce qui est du Data Mapper voici un lien qui pourra éventuellement vous éclairer: http://www.survivethedeepend.com/zendfr … nd.authors

Cordialement ;

Dernière modification par nuxwin (30-04-2011 23:18:46)

Hors ligne

 

#3 02-05-2011 09:21:35

Farid63
Nouveau membre
Date d'inscription: 20-04-2011
Messages: 6

Re: [Zend_Db][1.11] Utilisation d'une base de données

Bonjour et merci pour votre réponse.

J'ai essayé Zend_Db, effectivement ça permet de faire toutes les requêtes que l'on veut, mais du coup c'est plus du MVC.

Je fais des recherches sur les 3 classes que proposes ZF et si j'ai bien compris ça donne :

- une classe qui étend Zend_Db_Table_Abstract (Table Data Gateway) qui contient des fonctions avec des requêtes SQL.

- une classe qui représente une table de la base de données sous forme d'objet. Elle contient des propriétés qui sont les champs de la tables et ne content que des get et set pour récupérer et modifier ses propriétés.

- un classe qui transforme les résultats d'une requête en objet ou récupère les propriétés d'un objet pour que la classe Table Data Gateway les utilisent dans une requêtes.

J'espère que j'ai bien compris tout ça. Je vais maintenant essayer de récupérer des résultats avec jointure...

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages