<?phpnamespace App\AtechNet\CoreBundle\Entity;use Doctrine\ORM\Mapping\Column;use Doctrine\ORM\Mapping\GeneratedValue;use Doctrine\ORM\Mapping\HasLifecycleCallbacks;use Doctrine\ORM\Mapping\Id;use Doctrine\ORM\Mapping\MappedSuperclass;use Doctrine\ORM\Mapping\PrePersist;use Doctrine\ORM\Mapping\PreUpdate;/** * Entity * * @MappedSuperclass * @HasLifecycleCallbacks */abstract class AbstractEntity{ /** * @Id * @Column(name="id", type="integer") * @GeneratedValue(strategy="AUTO") */ private $id; /** * @var \DateTime * * @Column(name="created", type="datetime", nullable=false) */ private $created; /** * @var \DateTime * * @Column(name="updated", type="datetime", nullable=false) */ private $updated; public function __construct() { $this->created = new \DateTime(); $this->updated = new \DateTime(); } /** * Set id * * @param $id * @return int */ public function setId($id) { $this->id = $id; } /** * Get id * * @return integer */ public function getId() { return $this->id; } /** * @param \DateTime $created * @return \DateTime */ public function setCreated($created) { if ($created == null) { return $this->created; } else { $this->created = $created; } } /** * @param \DateTime $updated */ public function setUpdated($updated) { $this->updated = $updated; } /** * @return \DateTime */ public function getCreated() { return $this->created; } /** * @return \DateTime */ public function getUpdated() { return $this->updated; } /** * @PrePersist * @PreUpdate */ public function setTimestamps() { if ($this->created === null) { $this->created = new \DateTime(); } $this->updated = new \DateTime(); }}