Я изучаю 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
Теперь, каков "правильный" способ получения сущности? Я сомневаюсь, что каждый раз, когда пользователь user $em- > find() с $user0bj → __ construct(), я должен вызывать конструктор вручную.? Тогда это будет отягощать... Или я должен использовать что-то другое → find(), чтобы получить единую структуру правильно? Я знаю, что могу использовать user @PrePersist, и я использую его для проверки валидации и т.д. Я предполагаю, что я, вероятно, что-то пропустил, или я пытаюсь использовать конструктор в плохом ключе. Спасибо за любые объяснения и руководства!