статические свойства php5 - PullRequest
       8

статические свойства php5

0 голосов
/ 26 февраля 2011

Можно ли получить значение свойства по умолчанию в статическом контексте, значение свойства в нестатическом контексте?

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 голосов
/ 26 февраля 2011
static function test(){
    echo $this->property;
}

Это неправильный способ использования $ this. Вы не должны использовать $ this в статической функции или любой статически вызываемой функции.

Вы получите нежелательный результат от этого.

В статически вызываемых функциях $ это не будет объект того же класса.

Редактировать:

Чтобы получить значение по умолчанию, вы можете использовать

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
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...