将类名作为参数传递给函数意味着什么?

时间:2010-11-21 12:15:19

标签: php zend-framework datamapper

我正在阅读zend Framework快速入门:

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));
    }
}

我不明白将类名作为参数的含义或相关性,也不知道php5中是如何允许的,因为php.net手册中没有引用。

1 个答案:

答案 0 :(得分:12)

这是提示行动的类型。函数save仅接受Application_Model_Guestbook的实例作为参数。如果你试图传递任何其他内容,PHP会抱怨。

http://php.net/manual/en/language.oop5.typehinting.php