How does Doctrine 2 retrieve entities without call

2020-02-05 07:46发布

问题:

Does anyone know how this works?

回答1:

This works by unserializing objects. Unserializing in PHP does prevent the constructor to be called as the serialized object has been already constructed.

Create an object without calling it's constructor in PHP:

$className = 'stdClass'; # set classname here
$serialized = sprintf('O:%d:"%s":0:{}', strlen($className), $className);
$object = unserialize($serialized);

For more details please see this article: Doctrine 2: Give me my constructor back