<?php namespace fox; /** * * Class fox\prometheus * * @copyright MX STAR LLC 2018-2022 * @version 4.0.0 * @author Pavel Dmitriev * @license GPLv3 * **/ use fox\prometheus\item; class prometheus implements stringExportable, stringImportable { protected array $__items=[]; public function __construct($ref=null) { if (empty($ref)) { return; } else if (is_string($ref)) { $this->parseString($ref); } } public function __get($key) { switch($key) { case "items": return $this->__items; default: throw new foxException("Invalid READ for ".$key." in class ".__CLASS__); } } protected function parseString($str) { // TODO: implement fromString() $this->__items=[]; $ref = preg_replace("/\r/", "", $str); foreach (explode("\n", $ref) as $line) { try { $this->__items[]=item::fromString($line); } catch (\Exception $e) { } } } public function __toString(): string { // TODO: implement __toString() } public function __fromString($val) { $this->__construct($val); } public function isNull(): bool { return empty($this->__items); } }