Как правильно создать свой собственный объект из объекта stdClass

Я создаю экземпляр лица в соответствии с данными, которые я получаю из ответа API.

Данные возвращаются как \stdClass, и я хочу преобразовать их в свой собственный объект. Есть ли способ передать все вызовы в конструкторе и сделать что-то более элегантное?

Class Person 
{
   protected $Name;
   protected $Email;
   ...
   protected $Property40;

   **// Is there an elegant way to do it? Assuming I know all the  property names**
   public function __construct(\stdClass $person) 
   {
      $this->Name       = $person->Name;
      $this->EMail      = $person->EMail;
      ...
      $this->Property40 = $person->Property40
   }

}

Tnx

1 ответ

Решение
public function __construct(\stdClass $person) 
{
    foreach ($person as $attr => $val) {
       $this->$attr = $val;
    }
}
Другие вопросы по тегам