PHP中的$this到底指向谁?

来源:互联网 发布:仓廪实则知礼节的例子 编辑:程序博客网 时间:2024/05/29 02:24

实例代码:

class A {public function test(){echo '<pre>';var_dump($this);echo '</pre>';$this->testB();}}class B extends A {private $flag = 'B';public function testA(){die('testA');}public function testB(){$this->testA();}}$b = new B();$b->test();

运行结果:


代码说明:

1、B继承了A,所以B的实例可以访问test方法。

2、在A中的$this此时代表的是B的实例(由运行的结果可以看出),所以在A的test方法中$this可以访问B的testB方法(因为$this是B的实例)。

结论:

1、$this指向哪个对象实例是根据上下文来决定的,我是这样认为的不知道是否正确。

原创粉丝点击