接口对象在功能参数中的含义

时间:2019-01-29 10:25:21

标签: php laravel oop yii

我无法理解将任何模型或接口对象包含在方法参数中的含义。 例如,

public function checkRights(CommentInterface $comment)
{
    return true;
}

那么CommentInterface在做什么?为什么我们不仅在这里传递$ comment?您如何用编程语言来命名这种东西?

我是面向对象的php的新手 谢谢。

1 个答案:

答案 0 :(得分:-1)

这称为类型提示

类型提示会强制您仅传递特定类型的对象。这样可以防止您传递不兼容的值,并在与团队等一起工作时创建标准。

检查以下示例:

class Profile {
private $setting;
public function __construct(Setting $setting)
    {
        $this->setting = $setting;
    }
}

由于我们需要在函数内部使用$ setting对象,因此我们将其注入/传递/类型提示作为参数。