在PHP,不同于Java或C++, $this必须明白地被用于提到在类之内的可变物。

它叫的上下文取决于$this的价值。 在某些情况下$this也许实际上提到祈求的类宁可然后当前类。 这打破对象封闭。

$this伪变量没有被定义,如果它的方法静态地叫有例外如下所述。

如果方法静态地叫从另一个对象的内部, $this被定义。 在这种情况下, $this的价值是那叫的对象。

从PHP指南的以下例子将澄清此:

foo ();
A : :foo ();
$b =新的B ();
$b->bar ();
B : :酒吧();
?>

产品:

$this是被定义的(a)
$this没有被定义。
$this是被定义的(b)
$this没有被定义。