我最近开始学习 PHP,因为我习惯了强类型语言(C++、Java),所以我真的更喜欢使用类型提示和返回类型声明。但是,当我尝试对原语使用返回类型声明时,我收到一个致命错误,指出我的函数没有返回正确的类型。
这是一个代码示例:
<?php
namespace Foo;
class Bar {
public function bar() : boolean {
return true;
}
}
$bar = new Bar();
$bar->bar();
?>
这将导致致命错误,说明 Bar::bar 不返回 Foo\boolean 类型的值。所以我尝试通过将函数原型(prototype)更改为全局命名空间:
public function bar() : \boolean
但是后来我收到一个致命错误,指出我的函数没有返回 bool 类型的值。我猜 PHP 在全局命名空间中寻找一种叫做 boolean 的类型,而不是原始类型。太好了,那么我应该如何表明我希望我的函数返回原始类型 bool 值的值?
最佳答案
bool 值的类型提示实际上是 bool
。试试这个:
<?php
namespace Foo;
class Bar {
public function bar() : bool {
return true;
}
}
$bar = new Bar();
$bar->bar();
关于PHP:命名空间中的返回值声明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42326298/