setName($name); !is_null($inn) && $this->setInn($inn); $this->setPhones($phones); } /** * Возвращает установленное наименование поставщика * * @return string|null */ public function getName(): ?string { return $this->name; } /** * Устанавливает наименование поставщика * * @param string|null $name * @return Supplier */ public function setName(?string $name): self { // критерии к длине строки не описаны ни в схеме, ни в документации $this->name = trim($name) ?: null; return $this; } /** * @inheritDoc */ public function jsonSerialize(): array { $json = []; $this->getName() && $json['name'] = $this->getName(); $this->getInn() && $json['inn'] = $this->getInn(); !$this->getPhones()->isEmpty() && $json['phones'] = $this->getPhones()->toArray(); return $json; } }