php5静态属性

时间:2011-02-26 08:31:28

标签: php oop static

是否可以在静态上下文中将属性默认值作为非静态上下文中的属性值?

class A{

$property = 1;

static function test(){
    echo $this->property;
}

function test1(){
    echo $this->property;
}
}

$v = new A();
A::test();
A::test1()

输出11

1 个答案:

答案 0 :(得分:0)

static function test(){
    echo $this->property;
}

这不是使用$ this的正确方法。你不应该在静态函数中使用$ this,或者静态调用任何函数。

你会得到不想要的结果。

在静态调用的函数中,$ this不是Same Class的对象。

编辑:

要获取默认值,您可以使用

class A{

static $property = 1;

static function test(){
    echo self::$property;
}

function test1(){
    echo self::$property;  // or you can use class name instead of self
}
}