致命错误,不能使用$ this作为参数

时间:2019-04-23 09:08:04

标签: php

function thisOr($this, $or=' '){
    return ($this!='' ? $this : $or);
}

这是代码行及其说法

  

严重错误:不能将$ this用作参数   /home/public/alumni_database/admin/incFunctions.php,第436行

1 个答案:

答案 0 :(得分:0)

更改函数提供的变量的名称。

function thisOr($that, $or=' '){
    return ($that!='' ? $that : $or);
}

如果您的函数在类之内,则术语“ $this”是一个特殊的保留变量,它指向当前对象

*

  

如果您希望它像以前一样工作,则不应删除$ this作为参数。您应该将参数名称更改为其他名称,并在闭包中更改相应的变量名称。

     

通过PHP 5.6,在类方法的闭包中使用$this作为参数将掩盖引用 parent 对象的$this

From this answer