我最近开始学习PHP,由于我习惯于强类型语言(C ++,Java),因此我非常希望利用类型提示和返回类型声明。然而,当我尝试为原始类型使用返回类型声明时,我会收到致命错误,指出我的函数未返回正确的类型。
这里是一个代码示例:
<?php
namespace Foo;
class Bar {
public function bar() : boolean {
return true;
}
}
$bar = new Bar();
$bar->bar();
?>
这将导致致命错误,指出Bar::bar没有返回Foo\boolean类型的值。因此,我尝试使用全局命名空间将函数原型更改为:
public function bar() : \boolean
但是,我收到了一个致命错误,它声明我的函数没有返回布尔类型的值。我猜PHP正在全局命名空间中寻找名为boolean的类型,而不是原始类型。那么,我应该如何表明我要让我的函数返回原始类型boolean的值呢?
bool
而不是boolean
。 - Romandeclare(strict_types=1);
。 - Richard Turner