Я не пишу «что я пытался» или «что не работает», поскольку я могу думать о многих способах реализации чего-то подобного. Но я не могу поверить, что никто раньше не делал что-то подобное, и поэтому я хотел бы задать вопрос, чтобы увидеть, какие из лучших методов Doctrine2 появляются.
Я хочу, чтобы инициировать событие при изменении свойства. Итак, допустим, у меня есть объект с $active
значением $active
и я хочу, EntityBecameActive
событие EntityBecameActive
для каждого объекта, когда свойство изменяется с false
на true
.
Другие библиотеки часто имеют событие PropertyChanged
но в Doctrine2 нет такой вещи.
Поэтому у меня есть такая сущность:
<?php namespace Application\Entity; class Entity { /** * @var int * @ORM\Id * @ORM\Column(type="integer"); * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; /** * @var boolean * @ORM\Column(type="boolean", nullable=false) */ protected $active = false; /** * Get active. * * @return string */ public function getActive() { return $this->active; } /** * Is active. * * @return string */ public function isActive() { return $this->active; } /** * Set active. * * @param bool $active * @return self */ public function setActive($active) { $this->active = $active; return $this; } }