Я изучаю doctrine2, и у меня возникла проблема, как вызвать конструктор автоматически. Например, в моем объекте у меня есть
/**
* @Entity
*/
class User{
....
public function __construct() {
exit('in');
}
}
, и когда я получаю объект таким образом:
$userObj = $em->find('User', 1);
Я получаю этот объект из базы данных, но конструктор никогда не вызывается. Я хочу поместить некоторые общие вещи в конструктор, например правила проверки, или даже поместить образец кода из документации доктрины, например
$this->comments = new ArrayCollection();
. Это, конечно же, работает, когда я создаю новый объект в коде для создания пользователя, такого как
$user = new User(); //now constructor works just fine
Теперь, что такое "правильный" способ получить сущность? Я сомневаюсь, что мне нужно вызывать конструктор вручную каждый раз, когда я использую $ em-> find () с помощью $ user0bj -> __ construct (); ? Тогда это было бы отстой ... Или я должен использовать что-то другое, кроме -> find (), чтобы правильно получить единый объект? Я знаю, что могу использовать @PrePersist, и я использую его, чтобы выполнять проверки и т. Д. Я предполагаю, что мне здесь что-то не хватает, или я некачественно пытаюсь использовать конструктор. Спасибо за любые объяснения и руководства!