получение свойст класса

  • Автор темы vvsh
  • Дата начала
V

vvsh

Здравствуйте.

Есть такой код
PHP:
class Cache {
var $a = 0;

function set($t) {
$this->a = $this->a+$t;
}
}

class Core {
function a() {
return Cache::set(3);
}
}

$Core = new Core;
echo $Core->a();

когда я вызываю функцию a в классе Core, возникает ошибка
Notice: Undefined property: Core::$a

если вместо $this использовать self то возникает ошибка
Fatal error: Access to undeclared static property: Cache::$a
почему так происходит?
 
K

kabanches

Так ну ты вызываешь статичную функцию Cache::set, а она не статична

Добавлено: и потом "return Cache::set(3)" - так Cache::set ничего не возвращает же.

Добавлено: вот конкретно для твоего примера и чтобы работало:
PHP:
class Cache {
static $a = 0;

static function set($t) {
return self::$a + $t;
}
}

class Core {
function a() {
return Cache::set(3);
}
}

$Core = new Core;
echo $Core->a();
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!