Access to undeclared static property: FileLogger::$logers
<?php
class FileLogger {
public $lines = [];
//массив всех созданных объектов-журналов
static public $loggers = [];
//время создания объекта
private $time;
private function __construct($fname) {
//запоминаем время создания этого объекта
$this->time = microtime(true);
}
//открытый метод, предназначенный для создания объектов класса.
//Создать новый объект можно только с его помощью
public static function create($fname) {
//Вначале проверяем: возможно, объект для указанного имени
//файла уже существует? Тогда его и возвращаем.
if(isset(self::$loggers[$fname])) {
return self::$logers[$fname];
}
//А иначе создаём полностью новый объект и сохраняем ссылку
//на него в статическом массиве
return self::$loggers[$fname] = new self($fname);
}
//возвращаем время создания объекта
public function getTime() {
return $this->time;
}
//дальше могут идити остальные методы класса
}
$logger1 = FileLogger::create("file.log");
$logger2 = FileLogger::create("file.log");
echo $logger1->getTime();
echo $logger2->getTime();
?>
а именно на return self::$logers[$fname]; когда в массиве уже что-то есть