“:”是什么意思?在方法之后意味着 PHP?

What does ":?" after a method means in PHP?

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

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

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

这是 PHP 7.1 的新功能。看解释here

Type declarations for parameters and return values can now be marked as nullable by prefixing the type name with a question mark. This signifies that as well as the specified type, NULL can be passed as an argument, or returned as a value, respectively.

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