当我探索一些laravel包代码时,我通常会在类中看到这种类型的函数,我想知道这种类型的函数的名称是什么以及如何使用它,例如:
protected function getFiles(): Filesystem
{
}
或
protected function getConfigPath(): string
{
}
PHP 文档链接会很有用。
最佳答案
<强> Return type declarations 已在 PHP 7 中添加。
与参数类型声明类似,返回类型声明 定义函数返回值的类型。可用类型与argument type declarations可用的类型相同。 .
<?php
function sum($a, $b): float {
return $a + $b;
}
As of PHP 7.1.0, return values can be marked as nullable by prefixing the type name with a question mark (?).
?string ?int ?array ?bool ?float
这允许函数返回定义的类型或 null,其他任何内容都会抛出 TypeError如果使用严格模式,则为默认模式。
strict_types
指令可以全局设置,也可以使用 declare
在代码中切换构造。
declare(strict_types=1);
在 PHP 中使用这些功能的主要好处之一是代码更清晰。函数的输入和输出没有任何歧义。它还有助于检测愚蠢的错误,例如比较字符串和整数类型值 - 或者以更可预测的方式执行这些评估。
以下是有关此主题的一些其他讨论:
关于php - PHP 中此类函数的名称是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56283169/