【问题标题】:what does $this mean within a class definition? [closed]$this 在类定义中是什么意思? [关闭]
【发布时间】:2010-09-23 08:50:02
【问题描述】:

作为一名初级 PHP 开发人员,随着我不断尝试提高自己,我开始尝试分解其他人的工作。我发现它可以帮助我理解,也可以给我一些想法。

在 PHP 类中,我没有得到两件事,$this 是什么意思,以及当我希望函数名出现在它的位置时,array($this,'some_function') 是什么意思。

非常感谢

【问题讨论】:

  • 这个问题似乎跑题了,因为这两个问题之前都已经回答过了(请参阅我的回答中的骗子)
  • 不是题外话,是重复的

标签: php oop class this


【解决方案1】:

请参阅PHP Manual on Classes and Objects$this 指的是对象实例。另请参阅以下问题:

对于array($this,'some_function'),请参阅PHP manual on callbacks。在接受回调的方法和函数中,例如call_user_func,这意味着在$this 上调用方法some_function。见

将此标记为 CW,因为它不是作为答案,而是将密切投票的原因视为重复

【讨论】:

  • 为什么我们要使用这种语法,而不是 $this->some_function()?
  • @Mild 因为$this->some_function() 会执行函数,而array($this, 'some_function') 不会,因此允许传递函数以进行延迟调用。
【解决方案2】:

$this 是一个类指针。类中的$this 可以访问类属性和方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 2014-05-20
    • 2011-08-22
    • 1970-01-01
    • 2010-12-29
    • 2014-09-20
    相关资源
    最近更新 更多