<?php declare(strict_types=1); class SomeClass { public function __construct( public readonly string $status ) { } public static function create(array|stdClass $params): self { $properties = get_class_vars(self::class); return new self(...array_intersect_key((array) $params, $properties)); } } var_dump(SomeClass::create((object) ['status' => 'pending', 'foo' => 'bar']));
You have javascript disabled. You will not be able to edit any code.