Создать экземпляр объект без вызова его конструктора в PHP

Чтобы восстановить состояние объекта, которое было сохранено, я хотел бы создать пустой экземпляр класса без вызова его конструктора, чтобы позже установить свойства с помощью Reflection ].

Единственный способ, который я нашел, а именно способ Doctrine , - это создать поддельную сериализацию объекта и unserialize () it:

function prototype($class)
{
    $serialized = sprintf('O:%u:"%s":0:{}', strlen($class), $class);
    return unserialize($serialized);
}

Есть ли другой, менее хакерский способ сделать это?

Я ожидал найти такой способ в Reflection, но не нашел.

19
задан hakre 3 July 2012 в 09:48
поделиться