如何在不带参数的情况下调用类型提示的 php 函数

Ite*_*tor 0 php oop type-hinting

我有一个 php 函数:

function myFunc(MyClass inst) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

有时,当我调用这个函数时,我不想传递任何参数,但这不起作用:

myFunc(null);
Run Code Online (Sandbox Code Playgroud)

错误信息是:

... must be an instance of MyClass , null given
Run Code Online (Sandbox Code Playgroud)

Mar*_*ski 5

通过提供默认值,使函数的参数成为可选的。所以而不是

function myFunc(MyClass inst)
Run Code Online (Sandbox Code Playgroud)

它应该是

function myFunc(MyClass inst=null)
Run Code Online (Sandbox Code Playgroud)

请参阅文档http://php.net/manual/en/functions.arguments.php