日期:2014-05-17  浏览次数:20482 次

PHP中static 和self的使用区别

class A {
??? public static function who() {
??? ??? echo __CLASS__;
??? }
??? public static function test() {
??? ??? self::who();
//??? ??? static::who();
??? }
}
A::test();

class B extends A {
??? public static function who() {
??? ??? echo __CLASS__;
??? }
}
echo B::test();

?

如果使用关键字self运行结果:?? A A

如果使用关键字static运行结果:A B

static:父类访问了子类的静态方法

self: 是类内指针,指向本类,静态方法,属性