我最近开始学习PHP,因为我习惯使用强类型语言(C++,Java),我更喜欢使用类型提示和返回类型声明.但是,当我尝试对基元使用返回类型声明时,我得到一个致命的错误,声明我的函数没有返回正确的类型.
这是一个代码示例:
<?php
namespace Foo;
class Bar {
public function bar() : boolean {
return true;
}
}
$bar = new Bar();
$bar->bar();
?>
Run Code Online (Sandbox Code Playgroud)
这将导致致命错误,声明Bar :: bar不返回Foo\boolean类型的值.所以我尝试通过将函数原型更改为:来求助于全局命名空间:
public function bar() : \boolean
Run Code Online (Sandbox Code Playgroud)
但后来我得到一个致命的错误,声明我的函数没有返回boolean类型的值.我想PHP正在全局命名空间中寻找一种名为boolean的类型,而不是原始类型.太好了,所以我该如何表明我希望我的函数返回一个原始类型boolean的值?
实际上是布尔值的类型提示bool.试试这个:
<?php
namespace Foo;
class Bar {
public function bar() : bool {
return true;
}
}
$bar = new Bar();
$bar->bar();
Run Code Online (Sandbox Code Playgroud)