$name; } /** * @param $name * @param $value * @return $this */ public function __set($name, $value) { $this->$name = $value; return $this; } /** * @return array */ #[ArrayShape(['startTime' => "int|null", 'requestTime' => "int|null", 'runTime' => "int|null"])] public function getTime(): array { return [ 'startTime' => $this->startTime, 'requestTime' => $this->requestTime, 'runTime' => $this->runTime, ]; } /** * @param $key * @param $data * @return $this * @throws \Exception */ public function setAttr($key, $data): static { if (!property_exists($this, $key)) { throw new \Exception('未查找到相应对象属性'); } $this->$key = $data; return $this; } /** * @return bool */ public function isResultsOK(): bool { if (!is_numeric($this->code)) { return false; } return $this->code == 0; } /** * @param string $name * @return mixed */ public function getData(string $name = ''): mixed { if (!$this->isResultsOK()) { return $this->data; } if (!empty($name) && isset($this->data[$name])) { return $this->data[$name]; } return $this->data; } /** * @param $key * @param $data * @return $this */ public function append($key, $data): static { if (!is_array($this->data)) { $this->data = ['origin' => $this->data]; } $this->data[$key] = $data; return $this; } /** * @return string */ public function getMessage(): string { return $this->message; } /** * @return int */ public function getCode(): int { return $this->code; } }