Php类型暗示对象属性存在

时间:2015-07-05 16:41:53

标签: php type-hinting

我怎么能暗示,我收到的论点必须有几个公共财产? 类似的东西:

interface IPerson {
    public $surname;
    public $name;
}
class A {
    public function foo(IPerson $p) {
        return $p->surname . ' ' . $p->name;
    }
}

但是由于接口不能指向变量(为什么?),PHP中的行为甚至是可能的吗? 可能在一些新的php发布中有什么东西(5.5-7.0)?

我认为主要问题是php类型系统,其中没有has property概念?

1 个答案:

答案 0 :(得分:3)

在界面中定义getter:

interface IPerson {
    public function getSurname();
    public function getName();
}
class A {
    public function foo(IPerson $p) {
        return $p->getSurname() . ' ' . $p->getName();
    }
}