我最近开始学习PHP,由于我习惯于强类型语言(C++,Java),所以我更喜欢使用类型提示和返回类型声明。但是当我试图使用返回类型声明的基元时,我得到一个致命的错误,指出我的函数没有返回正确的类型。PHP:命名空间中的返回值声明
这里是一个代码示例:
<?php
namespace Foo;
class Bar {
public function bar() : boolean {
return true;
}
}
$bar = new Bar();
$bar->bar();
?>
这将导致致命的错误,说明吧::酒吧不返回美孚\布尔类型的值。所以,我想通过改变函数原型诉诸全局命名空间:
public function bar() : \boolean
但后来我得到了一个致命的错误,说明我的函数不返回boolean类型的值。我猜PHP是在全局命名空间中寻找一个名为boolean的类型,而不是原始类型。太棒了,那么我该如何表明我希望我的函数返回基本类型布尔值的值?
这个类型是'bool'不是'boolean'。 – Roman
您还应该将'declare(strict_types = 1);'作为每个文件的第一行。 –