
JSON to PHP Class: Complete Guide with Constructor Promotion and Typed Properties
Convert JSON to PHP classes with modern typed properties. Here's the complete guide. json_decode() Basics // Returns stdClass by default $obj = json_decode ( $json ); echo $obj -> name ; // Returns associative array $arr = json_decode ( $json , true ); echo $arr [ 'name' ]; // Error handling $data = json_decode ( $json ); if ( json_last_error () !== JSON_ERROR_NONE ) { throw new \InvalidArgumentException ( 'Invalid JSON: ' . json_last_error_msg ()); } PHP 7.4+ Typed Properties class User { public int $id ; public string $name ; public string $email ; public bool $active ; public ?string $bio ; // nullable public static function fromArray ( array $data ): self { $user = new self (); $user -> id = $data [ 'id' ]; $user -> name = $data [ 'name' ]; $user -> email = $data [ 'email' ]; $user -> active = $data [ 'active' ] ?? true ; $user -> bio = $data [ 'bio' ] ?? null ; return $user ; } } $user = User :: fromArray ( json_decode ( $json , true )); PHP 8.0 Constructor Promotion class User {
Continue reading on Dev.to Webdev
Opens in a new tab

