Необходимо исправить код либо на вариант, предложенный
@victorvsk, либо на такой вариант:
class sys{
static public $log = "<br />";
static function log($newval)
{static::$log.=$newval."<br />";}
static function getlog()
{ return static::$log . "<br />";}
}
sys::log("установка");
sys::getlog();
Статические переменные и методы — это методы и переменные класса, а не объекта, поэтому обращение к ним происходит либо через имя класса (sys::$log), либо через ключевое слово self (self::$log; если происходит обращение к члену класса из самого класса), либо через ключевое слово static (static::$log; отличается от "self" лишь
тем, что преобразуется в имя класса на стадии исполнения скрипта и потому подходит для использования при вызове метода из дочернего класса). Можно обращаться из методов объекта к статическим членам класса, но не наоборот (т.к. у объекта один класс и он известен объекту, а у класса может быть либо много объектов либо вообще ни одного).