2010-11-21 35 views
3

Je lis Framework zend démarrage rapide:Que signifie le passage d'un nom de classe en tant que paramètre dans une fonction?

Il y a une fonction dans la classe Mapper:

public function save(Application_Model_Guestbook $guestbook) 
{ 
    $data = array(
     'email' => $guestbook->getEmail(), 
     'comment' => $guestbook->getComment(), 
     'created' => date('Y-m-d H:i:s'), 
    ); 

    if (null === ($id = $guestbook->getId())) { 
     unset($data['id']); 
     $this->getDbTable()->insert($data); 
    } else { 
     $this->getDbTable()->update($data, array('id = ?' => $id)); 
    } 
} 

Je ne comprends pas le sens ou la pertinence d'avoir un nom de classe comme un argument, ni je vois comment une telle chose est autorisée dans php5 puisqu'il n'y a aucune référence dans le manuel de php.net.

+0

Remarque rapide, votre titre est légèrement inexact. Vous vouliez probablement demander: «Que signifie fournir un nom de classe lors de la déclaration des paramètres de fonction? – Ali

Répondre