Php 如何将对象实例作为函数';什么是默认参数?

Php 如何将对象实例作为函数';什么是默认参数?,php,Php,我试图为我的函数设置一个默认参数。例如,你通常可以做一些类似的事情 function foo ($var = 'blah') { return $var; } 但是当我尝试一些更复杂的东西时,我遇到了一个解析错误,它表示意外的T_变量 function foo ($var = $this->string) { return $var; } 如何使用对象的实例作为默认参数。谢谢 不能从默认函数参数值实例化对象 您可以测试$null,然后在方法中实例化它。您不能这样做。函数

我试图为我的函数设置一个默认参数。例如,你通常可以做一些类似的事情

function foo ($var = 'blah')
{
    return $var;
}
但是当我尝试一些更复杂的东西时,我遇到了一个解析错误,它表示意外的T_变量

function foo ($var = $this->string)
{
    return $var;
}

如何使用对象的实例作为默认参数。谢谢

不能从默认函数参数值实例化对象


您可以测试
$null
,然后在方法中实例化它。

您不能这样做。函数参数只能初始化为常量值。

我认为您不能这样做。默认值只能是常量

function foo ($var = null)
{
    return ($var === null) ? $this->string : $var;
}


“默认值必须是常量表达式,而不是(例如)变量、类成员或函数调用。”

您可以使用
$var=null
然后检查它是否为null。默认参数应该是常量表达式,而不是变量、类成员或函数调用。