Log.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. namespace Gedmo\Loggable;
  3. /**
  4. * Base class for Log object
  5. *
  6. * @author Boussekeyt Jules <jules.boussekeyt@gmail.com>
  7. * @author Gediminas Morkevicius <gediminas.morkevicius@gmail.com>
  8. * @package Gedmo.Loggable
  9. * @subpackage Log
  10. * @link http://www.gediminasm.org
  11. * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
  12. */
  13. abstract class Log
  14. {
  15. public function __construct()
  16. {
  17. $this->actualizeDate();
  18. }
  19. public function __toString()
  20. {
  21. return sprintf('%s %s %s %s',
  22. $this->user,
  23. $this->action,
  24. $this->object,
  25. $this->date->format('Y-m-d H:i:s')
  26. );
  27. }
  28. abstract function actualizeDate();
  29. public function getDate()
  30. {
  31. return $this->date;
  32. }
  33. public function setDate(\DateTime $date)
  34. {
  35. $this->date = $date;
  36. }
  37. public function getUser()
  38. {
  39. return $this->user;
  40. }
  41. public function setUser($user)
  42. {
  43. $this->user = $user;
  44. }
  45. public function getAction()
  46. {
  47. return $this->action;
  48. }
  49. public function setAction($action)
  50. {
  51. $this->action = $action;
  52. }
  53. public function getObject()
  54. {
  55. return $this->object;
  56. }
  57. public function setObject($object)
  58. {
  59. $this->object = (string) $object;
  60. }
  61. }