在 PHP 中的函数定义中指定类型

Specifing type in function definition in PHP

我想在 PHP 中定义一个带有 header 的函数,如下所示:

public function functionname(Classname $node)
{ ... }

但 $node 也可以为 NULL

当我传递 NULL 时,我得到:

可捕获的致命错误:传递给 functionname() 的参数 1 必须是 Classname 的实例,给定 null,在第 xx 行 phpfile.php 中调用并在 ...

中定义

有没有可能 php 也让我传递 NULL 或 NULL 指针?还是我必须像这样重新定义函数:

public function functionname($node)

并使用以下命令检查内部:

if ($node != NULL)
if (typeof($node)!="Classname")
   { throw error }

你可以定义nullable type declaration:

public function functionname(Classname $node = null){}