IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Db PHP Discussion :

Références et aliasing des classes


Sujet :

Zend_Db PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 19
    Par défaut Références et aliasing des classes
    Bonjour,

    J'utilise le plugin autoloader de zend pour charger mes classes de gestion des modèles.
    Le nom des classes est donc de la forme : <Module>_Model_DbTable_<ModelName>.

    Pour un module gérant des utilisateurs et des groupes, j'ai donc une table de liaison Users_Model_DbTable_UserGroups.

    Je voudrais pouvoir aliaser mes classes quand je les utilise, pour pouvoir faire qqchose comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    class Users_Model_DbTable_UserGroups extends Zend_Db_Table_Abstract
    {
    	protected $_referenceMap = array(
    		'User' => array(
    			'columns' => 'user_id',
    			'refTable' => 'Users',
    			'refColumns' => 'id'
    		),
    		'Group' => array(
    			'columns' => 'group_id',
    			'refTable' => 'Groups',
    			'refColumns' => 'id'
    		)
    	);
    }
    plutôt que cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    class Users_Model_DbTable_UserGroups extends Zend_Db_Table_Abstract
    {
    	protected $_referenceMap = array(
    		'User' => array(
    			'columns' => 'user_id',
    			'refTable' => 'Users_Model_DbTable_Users',
    			'refColumns' => 'id'
    		),
    		'Group' => array(
    			'columns' => 'group_id',
    			'refTable' => 'Users_Model_DbTable_Groups',
    			'refColumns' => 'id'
    		)
    	);
    }

    ou encore : $usersTable = new Users();

    Sans compter que je veux pouvoir faire qqchose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $usersTable = new Users();
    $usersTable->findGroupsByUser($userId);
    Je n'ai rien trouvé dans la doc de Zend.

    Avez-vous une idée de comment faire ça ?

    Merci par avance,

    Frédéric

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 7
    Par défaut
    $usersTable = new Users();
    Je ne pense pas que ce soit possible.
    La philosophie de ZF est d'allé chercher la classe grâce à son nom

    new Model_DbTable_Matable()
    /chminSrv/application/Models/DbTable/Matable.php

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/01/2008, 13h15
  2. Référence des classes navigateur
    Par elvivo dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 19/08/2005, 12h37
  3. Créer les get et set des classes
    Par cameleon2002 dans le forum JBuilder
    Réponses: 3
    Dernier message: 17/09/2003, 21h03
  4. specifier les chemins des .class
    Par draken dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/07/2003, 09h35
  5. Inserer des classes java existantes
    Par 2000 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 20/03/2003, 12h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo