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


Specifing type in function definition in PHP

我想在PHP中定义一个函数,其头部如下:

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

但是$node也可以是NULL

当我通过NULL时,我得到:

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

php是否也允许我传递NULL或NULL指针?还是我必须重新定义函数,比如:

public function functionname($node)

并用检查内部

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

您可以定义可为null的类型声明:

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