$this关键字的含义是什么


What is $this keyword meant for?

请解释一下$this->代表什么。。。让我们以下面的代码为例。。。

$this->convertNamesToCaptions($order, $formId)

$这是指当前对象

手册上写着:

当从对象上下文中调用方法时,伪变量$this可用$这是对调用对象的引用(通常是该方法所属的对象,但如果从辅助对象的上下文静态调用该方法,则可能是另一个对象)。

小例子:

class Test
{
    private $var;
    public function func()
    {
        $this->var = 1;
        return $this->var;
    }
}
$obj = new Test();
$obj->func();

$this在对象代码中引用当前对象。

您可以在PHP OOP基础知识中找到更多信息。

所以,简单地说:

  • $this表示当前对象实例
  • ->表示右边的部分是对象的方法

换句话说:

$this->doSth()表示:运行同一对象的方法doSth

$this保持所选对象的引用,->是用于将方法或属性分配给对象引用的运算符。

我认为这个页面说明了一切:http://php.net/manual/en/language.oop5.basic.php

当从对象上下文中调用方法时,伪变量$this可用。$this是对调用对象(通常是该方法所属的对象,但如果从辅助对象的上下文静态调用该方法,则可能是另一个对象)的引用。

简而言之,它是调用对象。

$这是一个指向当前对象的指针,->是一个用于为右侧对象赋值的运算符。