暗示对象属性存在的Php类型

暗示对象属性存在的Php类型,php,type-hinting,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

我怎样才能暗示,我收到的论点必须有几个公共属性?
比如:

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
类型系统,其中没有
具有属性
概念?

在接口中定义getter:

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

在接口中定义getter:

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

在接口中定义getter:

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

在接口中定义getter:

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

'我不认为在当前的PHP5.x中有办法'我不认为在当前的PHP5.x中有办法'我不认为在当前的PHP5.x中有办法'我不认为在当前的PHP5.x中有办法,但我需要包装大量的外部类来实现这一点,更简单的检查
isset
,而不暗示…这就是它的意图。通过在接口中为属性定义一个getter,实现类必须返回一些东西(即属性必须存在)。但是我需要包装大量的外部类来实现这个更简单的check
isset
,而不暗示…这就是它的意图。通过在接口中为属性定义一个getter,实现类必须返回一些东西(即属性必须存在)。但是我需要包装大量的外部类来实现这个更简单的check
isset
,而不暗示…这就是它的意图。通过在接口中为属性定义一个getter,实现类必须返回一些东西(即属性必须存在)。但是我需要包装大量的外部类来实现这个更简单的check
isset
,而不暗示…这就是它的意图。通过在接口中定义属性的getter,实现类必须返回某些内容(即属性必须存在)。