【问题标题】:fatal error, cannot use $this as parameter [duplicate]致命错误,不能使用 $this 作为参数 [重复]
【发布时间】:2019-04-23 09:08:04
【问题描述】:
function thisOr($this, $or=' '){
    return ($this!='' ? $this : $or);
}

这是这行代码和它的说法

致命错误:不能使用 $this 作为参数 /home/public/alumni_database/admin/incFunctions.php 在第 436 行

【问题讨论】:

  • 你不能使用$this,它是一个保留的变量名。
  • 你不能使用$this。请参考answer
  • 问题未解决...请使用编辑上述语法让我准确了解您要说的内容

标签: php


【解决方案1】:

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

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

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

*

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

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

From this answer

【讨论】:

  • 在将所有 $this 更改为其他内容后,它给我一个错误 PHP 未配置为连接到这台机器上的 MySQL。请参阅此页面以获取有关如何配置 MySQL 的帮助。我在这里做什么?所有文件处理和链接看起来都正确
  • @thunderv 是你的类里面的函数吗?
  • function thisOr($this, $or=' '){ return ($this!='' ? $this : $or);这是它的声明方式,它给出了错误
  • @thunderv 我告诉过你,用另一个变量名替换$this
猜你喜欢
  • 2018-03-03
  • 1970-01-01
  • 2012-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-16
相关资源
最近更新 更多