【发布时间】:2017-09-27 08:17:15
【问题描述】:
我正在阅读 PHP7 的新功能,我对此产生了疑问:
Returning values: Return type declarations
function sum($a, $b): float {
return $a + $b;
}
// Note that a float will be returned.
var_dump(sum(1, 2));
我能找到的唯一目的是在接口定义上更加具体(这是一个优势)。但是,是否有任何其他原因将它们包含在每个方法中?
【问题讨论】:
-
它还可以帮助您防止父类的覆盖类型。如果你的类返回浮点数,你的重写方法也应该返回浮点数。虽然这真的很有用
-
其他原因之一可能是 IDE 类型检查。这意味着如果您可以将该变量传递给函数(如果它只接受 bool),那么 IDE 会为您提供帮助。
-
@Akintunde strict typing 不是为此而生的吗?