|null $imageKeywords * @param array}>|null $slides */ public function __construct( public string $slug, public string $platform, public string $category, public string $name, public ?string $description, public string $content, public int $imageCount, public ?array $imageKeywords, public ?array $slides, ) {} /** * @param array $data */ public static function fromArray(array $data, string $platform): self { return new self( slug: (string) data_get($data, 'slug'), platform: $platform, category: (string) data_get($data, 'category'), name: (string) data_get($data, 'name'), description: data_get($data, 'description'), content: (string) data_get($data, 'content'), imageCount: (int) data_get($data, 'image_count', 0), imageKeywords: data_get($data, 'image_keywords'), slides: data_get($data, 'slides'), ); } /** @return array */ public function toArray(): array { return [ 'slug' => $this->slug, 'platform' => $this->platform, 'category' => $this->category, 'name' => $this->name, 'description' => $this->description, 'content' => $this->content, 'image_count' => $this->imageCount, 'image_keywords' => $this->imageKeywords, 'slides' => $this->slides, ]; } }