我有一个PHP类,因为我找到了一个函数,例如
public static function success(string $userid, string $message):bool
{
return self::add($userid, $message, 'success');
}
有人可以告诉函数名后的:bool
是什么意思吗?
答案 0 :(得分:1)
:bool
强制函数的返回类型,在你的情况下它是一个布尔值。
<?php
function arraysSum(array ...$arrays): array
{
return array_map(function(array $array): int {
return array_sum($array);
}, $arrays);
}
print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));
PHP 7增加了对返回类型声明的支持。与参数类型声明类似,返回类型声明指定将从函数返回的值的类型。返回类型声明可以使用相同的类型,可用于参数类型声明。
严格键入也会对返回类型声明产生影响。在默认的弱模式下,如果返回的值不是那种类型,则它们将被强制转换为正确的类型。在强模式下,返回的值必须是正确的类型,否则将抛出TypeError。
注意:强> 覆盖父方法时,子方法必须匹配父方法上的任何返回类型声明。如果父级没有定义返回类型,则子方法可以这样做。
可以找到here的完整新功能列表。
答案 1 :(得分:0)
来自documentation(强调我的):
PHP 7增加了对返回类型声明的支持。与参数类型声明类似,返回类型声明指定将从函数返回的值的类型。返回类型声明可以使用相同的类型,可用于参数类型声明。
严格键入也会对返回类型声明产生影响。 在默认的弱模式下,如果返回值不属于该类型,则会将其强制转换为正确的类型。在强模式下,返回的值必须是正确的类型,否则将抛出TypeError。
答案 2 :(得分:0)
它明确指出函数success
将返回bool
而只返回bool
,从而通过隐式强制转换等方式阻止意外的返回值。
答案 3 :(得分:0)
简单地说,它是函数输出的值类型的指示符。 这是在PHP 7中引入的。如果您尝试输出bool值以外的其他值,则会出现错误。
答案 4 :(得分:0)
它会强制你的方法的返回值为布尔值。
e.g。如果你的self :: add方法返回一个字符串,那么结果将为1表示true。