How does Doctrine 2 retrieve entities without call

2020-02-05 07:26发布

Does anyone know how this works?

1条回答
Anthone
2楼-- · 2020-02-05 08:28

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

查看更多
登录 后发表回答