当我探索一些laravel软件包代码时,我通常在类中看到这种类型的函数,我想知道这种函数的名称是什么以及如何使用它,例如:
protected function getFiles(): Filesystem
{
}
或
protected function getConfigPath(): string
{
}
PHP文档链接会很有用。
答案 0 :(得分:2)
类似于参数类型声明,返回类型声明 定义函数将返回的值的类型。可用的类型与argument type declarations可用的类型相同。
<?php
function sum($a, $b): float {
return $a + $b;
}
从PHP 7.1.0开始,可以通过添加前缀将返回值标记为可为空 带有问号(?)的类型名称。
?string ?int ?array ?bool ?float
这允许函数返回定义的类型或为null,如果使用默认的严格模式,则其他任何内容都会抛出TypeError。
strict_types
指令可以全局设置,也可以使用declare
构造在代码中切换。
declare(strict_types=1);
在PHP中使用这些功能的主要好处之一就是代码更清晰。功能输入和输出没有任何歧义。它还有助于检测一些愚蠢的错误,例如比较字符串和整数类型的值,或者更可预测地执行这些评估。
以下是关于此主题的其他讨论: