Как решить проблему с ооп сеттер? class sys{
public $log = "";
static function log($newval)
{$this->log.=$newval."";}
static function getlog()
{ return $this->log . "";}
}
sys::log("установка");
sys::getlog();
Не понимаю, почему не работает.

21 Авг 2019 в 07:09
250 +1
0
Ответы
1

Проблема здесь заключается в том, что вы используете статические методы в классе sys, но пытаетесь обращаться к нестатическому свойству $log.

Чтобы решить эту проблему, вы можете либо сделать свойство $log статическим, либо изменить методы log и getlog на нестатические и создать объект класса sys для их вызова.

Вот исправленный пример:

class sys{
public static $log = "<br />";
public static function log($newval)
{
self::$log .= $newval."<br />";
}
public static function getlog()
{
return self::$log . "<br />";
}
}
sys::log("установка");
echo sys::getlog();

Теперь код должен работать правильно.

20 Апр 2024 в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир