TimestampableDocument.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace Gedmo\Timestampable\Traits;
  3. use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
  4. use Gedmo\Mapping\Annotation as Gedmo;
  5. /**
  6. * Timestampable Trait, usable with PHP >= 5.4
  7. *
  8. * @author Gediminas Morkevicius <gediminas.morkevicius@gmail.com>
  9. * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
  10. */
  11. trait TimestampableDocument
  12. {
  13. /**
  14. * @var \DateTime
  15. * @Gedmo\Timestampable(on="create")
  16. * @ODM\Field(type="date")
  17. */
  18. protected $createdAt;
  19. /**
  20. * @var \DateTime
  21. * @Gedmo\Timestampable(on="update")
  22. * @ODM\Field(type="date")
  23. */
  24. protected $updatedAt;
  25. /**
  26. * Sets createdAt.
  27. *
  28. * @param \DateTime $createdAt
  29. * @return $this
  30. */
  31. public function setCreatedAt(\DateTime $createdAt)
  32. {
  33. $this->createdAt = $createdAt;
  34. return $this;
  35. }
  36. /**
  37. * Returns createdAt.
  38. *
  39. * @return \DateTime
  40. */
  41. public function getCreatedAt()
  42. {
  43. return $this->createdAt;
  44. }
  45. /**
  46. * Sets updatedAt.
  47. *
  48. * @param \DateTime $updatedAt
  49. * @return $this
  50. */
  51. public function setUpdatedAt(\DateTime $updatedAt)
  52. {
  53. $this->updatedAt = $updatedAt;
  54. return $this;
  55. }
  56. /**
  57. * Returns updatedAt.
  58. *
  59. * @return \Datetime
  60. */
  61. public function getUpdatedAt()
  62. {
  63. return $this->updatedAt;
  64. }
  65. }