Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 06-04-2010 17:37:47

maryooman
Membre
Date d'inscription: 15-02-2010
Messages: 106

[Résolu]Zend_Db_Table_Row_Abstract, à quoi sert-il ?

Bonjour,

Je suis utilisateur de Zend depuis quelques mois, et je vois quelques tutos parler de cette classe.

De ce que j'ai compris c'est un composant très important pour l'accès aux sgbd.
Mais en pratique j'ai du mal à comprendre l'utilité.

J'ai trouvé un exemple dans un magazine : phpsolution. Année 2008.

Le Zend_Db_Table_Row_Abstract servait à faire des getters et setters ....
Avec deux méthode de calcule d'âges, mais tous ça aurait pu être dans le Zend_Db_Table_Abstract !

Je vous fais une petite copie. Et j'invoque le droit à la citation pour cela !^^

Code:

class UnCandidat extends Zend_Db_Table_Row_Abstract {
    public function getNom() {
        return $this -> NOM ;}
.... autres méthodes getxxx ici ....
    public function setNom( $nom ) {
        $this -> NOM = $nom ;}
.... autres méthodes setxxx ici ....
/**
* Ajuster l'âge pour l'année actuelle.
*/
    public function ajusterAge() {
        $annee = date( 'Y' ) ; # Année actuelle.
        $naissance = $this -> getNaissance() ; # Année de naissance.
        $this -> setAge( $annee - $naissance ) ; # Ajuster l'âge.
    }

Concrètement avoir deux classes (Table_Abstract et Table_Row_Abstract) apporte quoi ?

Dernière modification par maryooman (21-04-2010 15:49:46)

Hors ligne

 

#2 06-04-2010 17:49:50

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [Résolu]Zend_Db_Table_Row_Abstract, à quoi sert-il ?

perso j'utilise cette classe pour définir mes propre méthodes sur les enregistrements

je crée la classe Personne_Row dérivée de celle-ci et je l'associe à Personne_Table ainsi lorsque je pioche un objet dans ma table personne
j'obtiens un objet sur lequel je peux invoquer mes méthodes

A+JYT

Hors ligne

 

#3 07-04-2010 09:59:09

maryooman
Membre
Date d'inscription: 15-02-2010
Messages: 106

Re: [Résolu]Zend_Db_Table_Row_Abstract, à quoi sert-il ?

C’est un peu flou pour moi ...

J’aurais mis toutes les méthodes dans la même classe

C’est juste pour avoir une séparation logique ou bien il y a un réel traitement différend?

Hors ligne

 

#4 07-04-2010 10:38:07

maryooman
Membre
Date d'inscription: 15-02-2010
Messages: 106

Re: [Résolu]Zend_Db_Table_Row_Abstract, à quoi sert-il ?

je me suis dis que le meilleur moyen de comprendre est de pratiquer,

alors j'ai fait un classe et une table Country.

J'ai mis un getter, cela fonctionne par contre le setter ne fonctionne pas.

Code:

    public function setName($name) {
        $this->country_name = $name;
    }

est ce suffisant pour un setter d'une base de données ?


je rejouerai aussi pour ceux qui s'y intéressent, je viens trouver un lien à propos de ce sujet

http://akrabat.com/category/js/

Hors ligne

 

#5 07-04-2010 11:26:04

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [Résolu]Zend_Db_Table_Row_Abstract, à quoi sert-il ?

Code:

<?php
require_once dirname(__FILE__).'/Row.php';
/**
 * @package Fast_Module
 * @subpackage Adm_Module
 */
Class Adm_Model_User_Table extends Zend_Db_Table {
    /**
    * Classname for row
    *
    * @var string
    */
    protected $_rowClass = 'Adm_Model_User_Row';
...

Code:

<?php
/**
 * @package Fast_Module
 * @subpackage Adm_Module
 */
class Adm_Model_User_Row extends Zend_Db_Row {
    public $_data = array(
    'usr_id' => null,
    'usr_ident' => null,
    'usr_pwd' => null,
    'usr_name' => null,
    'usr_firstname' => null,
    'usr_mail' => '@orange-ftgroup.com',
    'usr_begin_dt' => null,
    'usr_end_dt'   => null);

    public function setName($name) {
        $this->usr_name = $name;
    }


    public function getDuration() {
        ...
    }

    public function setDuration($duration) {
        ...
    }
...

un objet sortit de Adm_Model_User_Table sera un objet de la classe Adm_Model_User_Row
je peux donc mettre des méthodes propre à cet objet

A+JYT

Hors ligne

 

#6 07-04-2010 12:45:51

maryooman
Membre
Date d'inscription: 15-02-2010
Messages: 106

Re: [Résolu]Zend_Db_Table_Row_Abstract, à quoi sert-il ?

là je comprends mieux.

j'ai déjà commencé à me mettre à écrire de cette maniere.

merci !

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