Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 27-11-2011 18:12:06

OoDeLally
Nouveau membre
Date d'inscription: 27-11-2011
Messages: 8

[Zend_Db_Table][2.3.0] Sous-Heritage de Zend_Db_Table possible ?

Bonjour,

Je débute dans le Zend framework.
J'ai suivi les tutoriels
http://g-rossolini.developpez.com/tutor … k/debuter/
et
http://julien-pauli.developpez.com/tuto … sentation/

Mettons que je veuille représenter dans mon application des véhicules :

Je fais une classe "Véhicules" héritant de Zend_Db_Table associée a une table "Véhicules" :
-------------------------------------------
| id | type | vitessemax  | Carburant |
-------------------------------------------

Maintenant je désire faire les classes Voitures et Moto, toutes deux héritant de Véhicules, car toutes deux ont une vitesse max et un carburant associe.

La table Voiture donne en plus d'autres attributs caractéristiques :
-----------------------------------
|  id  |  nb_portes  |   options  |
-----------------------------------

Tandis que la table Moto a d'autres attributs bien spécifiques :
---------------------------------------------
|  id  |  demarreur_electrique_yes_no  |
---------------------------------------------

Est-il possible de faire des classes Zend_Db_Table "Voitures" et "Moto", qui fassent automatiquement la liaison entre les deux tables, pour ne plus s'en preoccuper par la suite ?

Merci pour votre aide smile

Hors ligne

 

#2 12-12-2011 10:01:14

OoDeLally
Nouveau membre
Date d'inscription: 27-11-2011
Messages: 8

Re: [Zend_Db_Table][2.3.0] Sous-Heritage de Zend_Db_Table possible ?

up smile

Hors ligne

 

#3 12-12-2011 11:14:53

r.monceau
Membre
Date d'inscription: 02-11-2009
Messages: 59

Re: [Zend_Db_Table][2.3.0] Sous-Heritage de Zend_Db_Table possible ?

Salut,

Je crois que la réponse est dans ton post à moins que je n'ai pas bien compris ta question ^^

Maintenant je désire faire les classes Voitures et Moto, toutes deux héritant de Véhicules

Du coup, tes DbTable Voiture et Moto héritent de Véhicule.

Hors ligne

 

#4 12-12-2011 17:42:01

OoDeLally
Nouveau membre
Date d'inscription: 27-11-2011
Messages: 8

Re: [Zend_Db_Table][2.3.0] Sous-Heritage de Zend_Db_Table possible ?

Salut,

Je souhaite savoir si Zend permet de faire une interface entre moi et l'architecture des tables.

En clair, je voudrais faire un insert() avec la DbTable Voiture comme si c'était une table unique, et Zend va automatiquement enregistrer les bonnes données dans chaque table, à savoir nb_portes dans la table voiture, et carburant dans la table vehicule.

Est-ce possible ?

Hors ligne

 

#5 12-12-2011 18:03:46

r.monceau
Membre
Date d'inscription: 02-11-2009
Messages: 59

Re: [Zend_Db_Table][2.3.0] Sous-Heritage de Zend_Db_Table possible ?

Oui, il te suffit de redéfinir tes méthodes d'insertion et d'update afin d'appeler le parent.

Quand tu insères une voiture, tu appelles la méthode insert du dbTable Voiture et ce dernier appelle la méthode insert de ta classe parente à savoir Véhicule. Chacun met à jour le contenu de la table qui lui est assigné.
Idem pour ton objet Moto.

Je te conseille néanmoins d'utiliser les transactions afin d'éviter d'avoir des données erronées et orphelines dans ta base.

Hors ligne

 

#6 12-12-2011 19:47:47

OoDeLally
Nouveau membre
Date d'inscription: 27-11-2011
Messages: 8

Re: [Zend_Db_Table][2.3.0] Sous-Heritage de Zend_Db_Table possible ?

Il n'y aurait pas un risque de transactions imbriquées si la profondeur d'héritage dépasse 1 ?

Hors ligne

 

#7 13-12-2011 09:42:50

r.monceau
Membre
Date d'inscription: 02-11-2009
Messages: 59

Re: [Zend_Db_Table][2.3.0] Sous-Heritage de Zend_Db_Table possible ?

Si bien sûr, il te faudra le gérer.

Hors ligne

 

#8 13-12-2011 10:53:40

OoDeLally
Nouveau membre
Date d'inscription: 27-11-2011
Messages: 8

Re: [Zend_Db_Table][2.3.0] Sous-Heritage de Zend_Db_Table possible ?

Très clair, merci beaucoup :-)
Je n'aurai pas voulu passer à coté d'une solution facile si celle-ci existait.

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