【问题标题】:What does ":?" after a method means in PHP? [duplicate]":?" 是什么意思?在PHP中的方法意味着之后? [复制]
【发布时间】:2019-07-11 07:10:09
【问题描述】:

我刚刚在 Symfony 4 应用程序中看到了这个,但我找不到它的含义

  public function findOneBySomeField($value): ?Article
    {
        return $this->createQueryBuilder('a')
            ->andWhere('a.exampleField = :val')
            ->setParameter('val', $value)
            ->getQuery()
            ->getOneOrNullResult()
        ;
    }

我知道,现在使用 PHP 7,您可以使用 ":int $val" 定义返回值的预期类型,但是在这里, 是什么?符号是什么意思?

【问题讨论】:

  • 这可能意味着返回类型为null或Article

标签: php php-7


【解决方案1】:

这是 PHP 7.1 的新特性。见解释here

现在可以通过在类型名称前加上问号来将参数和返回值的类型声明标记为可为空。这表示除了指定的类型外,NULL 也可以分别作为参数传递或作为值返回。

这意味着您的函数的预期输出将是 Article 类的实例,或者是 NULL

【讨论】:

  • 将来您应该关闭询问 PHP 中符号的问题,作为上述问题的重复。
猜你喜欢
  • 1970-01-01
  • 2013-10-26
  • 2020-01-21
  • 1970-01-01
  • 2013-04-11
  • 2012-05-02
  • 2020-09-24
  • 2013-06-05
  • 1970-01-01
相关资源
最近更新 更多