在函数中传递类名作为参数意味着什么?

发布于 2024-10-03 18:36:17 字数 619 浏览 3 评论 0原文

我正在阅读 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 手册中。

I am reading zend Framework quick start:

There is a function in the Mapper class:

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

I dont understand the meaning or relevance of having a class name as an argument, nor can I see how such a thing is allowed in php5 since there is no reference in the php.net manual.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拔了角的鹿 2024-10-10 18:36:17

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

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

This is type hinting in action. The function save will only accept an instance of Application_Model_Guestbook as an argument. If you try to pass anything else, PHP will complain.

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文