这家伙很懒~

PHP中this,self,parent的区别

PHP2015-01-22 14:01:25php

PHP5经过重写后,对OOP的支持额有了很大的飞跃,成为了具备了大部分面向对象语言的特性的语言,比PHP4有了很多的面向对象的特性。这里我主要谈的是this,self,parent 三个关键字之间的区别。

从字面上来理解,分别是指这、自己、父亲。先初步解释一下,this是指向当前对象的指针(可以看成C里面的指针),self是指向当前类的指针,parent是指向父类的指针。

<?php
class FooClass {
    public function testSelf() {
        return self::t();
    }
    public function testThis() {
        return $this::t();
    }
    public static function t() {
        return 'FooClass';
    }
    function __toString() {
        return 'FooClass';
    }
}
class BarClass extends FooClass {
    public static function t() {
        return 'BarClass';
    }
}
$obj = new BarClass();
print_r(Array(
    $obj->testSelf(),
    $obj->testThis(),
));
// Array ([0] => FooClass [1] => BarClass )
讨论(0)
  • 暂无,求挽尊 ~
还可输入2000个字
京公网安备 11011202003202号 鲁ICP备 13027548号-1