出于好奇,当我正在研究一种方法,该方法期望实现两个不相关接口的对象的实例时,我想:
“能够提示多种类型不是很好” ...
在PHP中,您可以输入提示:
public function foo(InterfaceA $param): bool {}
在处理实现多个接口的类时,我认为能够为所有可能的类型/接口/等键入提示会很酷,例如:
public function foo(InterfaceA | InterfaceB | InterfaceC $param) : bool {}
甚至:
public function foo(int | bool $param) : bool {}
或:
public function foo(array | \SplObjectStorage $param) : array {}
我敢肯定有一个显而易见的原因,这是不可能的,但是我不清楚,如果能更好地理解PHP设计的人能解释为什么...,我将不胜感激。谢谢高级:)