Void函数无法返回void函数?

时间:2016-12-06 12:58:55

标签: php

我想知道为什么这是无效的:

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无效,因此应该允许......

1 个答案:

答案 0 :(得分:1)

$this->foo()不会返回void,而是null。所以在你的bar函数中,你实际上是明确地返回null,这是不允许的。