我想知道为什么这是无效的:
Class Foobar
{
private function foo(): void {
return;
}
public function bar(): void {
return $this->foo(); // Compile Error: A void function must not return a value
}
}
我知道RFC说的是这个:
具有void返回类型或void函数的函数可以隐式返回,也可以使用不带值的return语句
但恕我直言foo
无效,因此应该允许......
答案 0 :(得分:1)
$this->foo()
不会返回void
,而是null
。所以在你的bar函数中,你实际上是明确地返回null
,这是不允许的。