PHP中parent、this、self和static的区别

面试题 / 2417人浏览

1、this

       当一个对象要访问其方法时,会先完成一个绑定:将 $this 绑定到调用该方法的 对象。方法谁调用,$this 就指向谁。

2、self

        self 永远指向 定义它的类。也就是你在哪里写了 self,self 就代表哪个类。

        $this 绑定的是调用方法的对象,是对象级别,self 则是绑定的定义它的类,是类级别。因此只能用于访问静态方法或静态属性或常量。

3、parent

       跟 self 类似,parent 指向的是定义它的 类的父类。也是类级别。

4、static

       static 关键字是 PHP 5.3 时引入的,官方名称是延迟静态绑定(late-static-bindings)。static 关键字可以在父类中引用到扩展类的最终状态,也就是指向 调用它的类。换句话,当碰到 static 关键字时,static 就指向了当前的调用域(calling scope),而不是像 self 等静态引用会寻找定义他们的域。

上一篇:小程序(入门)-02
下一篇:PHP的意思