PHP中的父对象类型提示

8

我希望在PHP中为特定的父对象进行类型提示:

我目前有一个标准的基础对象类:

class stdObject
{

   private $var;

   public function setVar($var)
   {
     $this->var = $var;
     return $this;
   }
}

我有一个继承这个类的类对象:

class valObject extends stdObject
{
}

在一个PHP函数中,我希望能够使用类型提示,以便该函数可以期望任何具有stdObject父级的对象,因此发送valObject将起作用,但不会对anyOldObject起作用。
这是否可能?
3个回答

4
您可以通过使用父类型来实现:
function test(stdObject $obj) {
  // ...
}

如果您不想将纯stdObject作为参数,而只想使用继承stdObject的对象,则应将stdObject类设置为抽象或创建一个接口。


3

类型提示与实现链配合使用,因此以下内容是有效的:

public function fnc(stdObject $obj)

这将接受任何扩展自stdObject的对象,包括valObject。它也可以与接口一起使用。

3

这是可能的吗?

是的,你描述的正是类型提示的用途。这里有文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接