Я изучаю 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, и я использую его для проверки правильности и т. Д.
Я предполагаю, что я, вероятно, что-то здесь упускаю, или я пытаюсь использовать конструктор плохим способом. Спасибо за любые объяснения и руководства!