2009-04-17 3 views
1

je peux obtenir le nom d'utilisateur en faisant ceci:Zend Framework: Comment récupérer le prénom d'un utilisateur authentifié?

public function indexAction() 
{ 
    $this->view->username = Zend_Auth::getInstance()->getIdentity(); 
} 

« nom d'utilisateur » est la colonne dans la table qui valide l'identité. "prénom" est aussi une colonne dans cette table. Zend_Auth stocke-t-il uniquement le nom d'utilisateur? Ou existe-t-il un moyen d'accéder à d'autres colonnes à partir de la ligne de l'utilisateur dans la table?

Répondre

3

Donc, vous utilisez un adaptateur DbTable, à droite. Et vous récupérez la ligne de table après l'authentification comme ceci:

$authAdapter->getResultRowObject() 

Alors oui, toute la rangée utilisateur est disponible. Essayez juste!

A partir du manuel:

En plus de la disponibilité de la méthode getIdentity() l'objet de résultat d'authentification, Zend_Auth_Adapter_DbTable prend également en charge la récupération de la ligne de table sur le succès d'authentification:

// Print the identity 
echo $result->getIdentity() . "\n\n"; 

// Print the result row 
print_r($authAdapter->getResultRowObject()); 

/* Output: 
my_username 

Array 
(
    [id] => 1 
    [username] => my_username 
    [password] => my_password 
    [real_name] => My Real Name 
) 
*/ 

Or see for yourself!