Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
853 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Doctrine et model classes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Doctrine et model classes

n°1931452
masseur
Posté le 13-10-2009 à 11:52:29  profilanswer
 

Bonsoir
 
Imaginons une table USER.
 
On va ensuite générer les classes.

Code :
  1. Doctrine::generateModelsFromDb('models', array('doctrine'), array('generateTableClasses' => true));


 

Code :
  1. class User extends BaseUser
  2. {
  3. }


 
Ensuite on a généré un squelette doctrine_Table
 

Code :
  1. class UserTable extends Doctrine_Table
  2. {
  3. }


Dans la documentation on nous dit cela.
 

Citation :

You can place custom functions inside the User and UserTable classes to customize the functionality of your models. Below are some examples:


 
Je ne comprends pas très bien la différence entre ces deux classes,quel est le rôle de chacune d'entre elle et que doivent t'elles contenir?
 
Merci

mood
Publicité
Posté le 13-10-2009 à 11:52:29  profilanswer
 

n°1931550
Tirkyth
Posté le 13-10-2009 à 16:14:38  profilanswer
 

Normalement dans User tu ajoutes des méthodes propres à ton objet.
 
Ça pourrait être par exemple une méthode getAge() qui, à partir de la date de naissance de ton user, ferait directement le calcul de son age.
 
Ou par exemple, une méthode lock() qui bloquerait un compte utilisateur, si celui-ci se trompe 3 fois dans son login.
 
Dans UserTable, tu ajoutes des méthodes qui la plupart du temps consistent à faire des Doctrine_Query.
 
Le but en général, c'est que les méthodes de ta UserTable te renvoient un objet User ou une collection d'objets User.


---------------
Mon Feedback !
n°1931719
masseur
Posté le 14-10-2009 à 12:41:59  profilanswer
 

Merci bien.

n°1932019
masseur
Posté le 15-10-2009 à 11:08:36  profilanswer
 

DU coup je ne comprends pas bien pourquoi sur leur tuto jobeet ils font ceci.
// lib/model/doctrine/JobeetJobTable.class.php
 

Code :
  1. class JobeetJobTable extends Doctrine_Table
  2. {
  3.   static public $types = array(
  4.     'full-time' => 'Full time',
  5.     'part-time' => 'Part time',
  6.     'freelance' => 'Freelance',
  7.   );
  8.   public function getTypes()
  9.   {
  10.     return self::$types;
  11.   }
  12.   // ...
  13. }

n°1932022
Tirkyth
Posté le 15-10-2009 à 11:15:47  profilanswer
 

J'ai bien dit en général.
 
Ce cas aussi est justifié. Tu ne vas pas mettre cette méthode dans JobeetJob. Dans JobeetJob, tu as getType() qui va te renvoyer le type pour l'objet concerné.
Dans JobeetJobTable, tu as getTypes() qui te renvoit les différents types possibles. Ou-est ce que tu voudrais mettre ça sinon ?


---------------
Mon Feedback !
n°1932241
masseur
Posté le 15-10-2009 à 21:56:21  profilanswer
 

Tirkyth a écrit :

J'ai bien dit en général.
 
Ce cas aussi est justifié. Tu ne vas pas mettre cette méthode dans JobeetJob. Dans JobeetJob, tu as getType() qui va te renvoyer le type pour l'objet concerné.
Dans JobeetJobTable, tu as getTypes() qui te renvoit les différents types possibles. Ou-est ce que tu voudrais mettre ça sinon ?


 
Autant pour moi.
 
 

n°1932409
Tirkyth
Posté le 16-10-2009 à 11:59:22  profilanswer
 

masseur a écrit :


 
Autant pour moi.
 
 


Y'a pas de mal. Mais c'était une vraie question tu sais :) A part à cet endroit, je ne vois pas où on pourrait le mettre ailleurs.
L'autre solution ça serait d'avoir une table dédiée pour les types de jobs, mais dans le tutorial c'est pas la solution qui a été choisie. En effet, il est peu intéressant d'avoir ces types administrables


---------------
Mon Feedback !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Doctrine et model classes

 

Sujets relatifs
Attributs protected dans une hiérarchie de classes[C++] Différences de déclarations dans des classes Qt
Bien structurer mes classes ? (bis)[Résolu] Comment bien structurer mes classes ?
probleme javascript et php model mvc[PHP] Varaibles de sessions et classes
question sur les classes[C#, Résolu] UserControl, classes en propriété et code du concepteur.
classes et base de données =/Boutons et classes
Plus de sujets relatifs à : Doctrine et model classes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR