卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章45989本站已运行3115

PHP 函数返回值的类型如何推断?

php 8 引入了类型推断功能,允许在函数声明中指定返回类型(如 functionname(): type)。例如,一个名为 sum 的函数返回 int 类型,可通过 $name = $user->getname() 来调用。需要注意,实际返回类型必须与声明返回类型一致,否则将引发 typeerror 异常。

PHP 函数返回值的类型如何推断?

PHP 函数返回值的类型推断

在 PHP 8 中,引入了类型推断功能,可帮助您推断函数返回值的类型。这通过在函数声明中指定期望的返回类型来完成。语法如下:

function functionName(): type {
  // 函数体
}

例如,我们定义了一个名为 sum 的函数,它将两个数字相加并返回一个整数值:

function sum(int $a, int $b): int {
  return $a + $b;
}

实战案例

假设我们有一个 User 类,它有一个 getName 方法,该方法返回一个字符串:

class User {
  public function getName(): string {
    return "John Doe";
  }
}

以下是如何使用类型推断调用 getName 方法:

$user = new User();
$name = $user->getName(); // $name 将被推断为字符串类型

注意事项

  • 如果实际返回类型与声明的返回类型不匹配,PHP 将引发一个 TypeError 异常。
  • 对于继承类,派生类的返回类型可以覆盖基类的返回类型。
  • 对于联合类型(例如 int|string),函数可以返回任何符合联合类型的类型。
  • 您仍然可以使用 @return 标签来指定函数返回值的类型,但它将被类型推断功能所覆盖。
卓越飞翔博客
上一篇: PHP OOP 中函数的使用:问与答
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏