Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Zend_Db
Zend_Db Forum d'entraide pour le composant Zend_Db du Zend Framework (création de requêtes, abstraction, ORM etc.). Avant de poster -> FAQ Zend_Db.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/02/2011, 12h27   #1
Invité de passage
 
Inscription : septembre 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 19
Points : 1
Points : 1
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 :
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 :
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 :
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
fhebert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 12h55   #2
Invité régulier
 
Inscription : mai 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 7
Points : 6
Points : 6
Citation:
$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

Citation:
new Model_DbTable_Matable()
Citation:
/chminSrv/application/Models/DbTable/Matable.php
darkroll est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h33.


 
 
 
 
Partenaires

Hébergement Web