AbstractModel.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. namespace ModulesGarden\Servers\KerioEmail\Core\HandlerError\Model;
  3. /**
  4. * Description of AbstractModel
  5. *
  6. * @author Rafał Ossowski <rafal.os@modulesgarden.com>
  7. */
  8. abstract class AbstractModel
  9. {
  10. /**
  11. * @var string
  12. */
  13. protected $class;
  14. /**
  15. * @var string
  16. */
  17. protected $message;
  18. /**
  19. * @var array
  20. */
  21. protected $trace;
  22. /**
  23. * @var string
  24. */
  25. protected $date;
  26. /**
  27. * @var string
  28. */
  29. protected $time;
  30. /**
  31. * @param string $class
  32. * @param string $massage
  33. * @param array $trace
  34. */
  35. public function __construct($class = "", $massage = "", $trace = [])
  36. {
  37. $this->date = date('Y-m-d');
  38. $this->time = date('H:i:s');
  39. $this->setClass($class)->setMessage($massage)->setTrace($trace);
  40. }
  41. public function getClass()
  42. {
  43. return $this->class;
  44. }
  45. public function setClass($class = "")
  46. {
  47. $this->class = $class;
  48. return $this;
  49. }
  50. public function getMessage()
  51. {
  52. return $this->message;
  53. }
  54. public function setMessage($message = "")
  55. {
  56. $this->message = $message;
  57. return $this;
  58. }
  59. public function getTrace()
  60. {
  61. return $this->trace;
  62. }
  63. public function setTrace($trace = [])
  64. {
  65. $this->trace = $trace;
  66. return $this;
  67. }
  68. public function getDate()
  69. {
  70. return $this->date;
  71. }
  72. public function setDate($date = '')
  73. {
  74. $this->date = $date;
  75. return $this;
  76. }
  77. public function getTime()
  78. {
  79. return $this->time;
  80. }
  81. public function setTime($time = "")
  82. {
  83. $this->time = $time;
  84. return $this;
  85. }
  86. public function getFullMessage()
  87. {
  88. return "[ " . $this->getClass() . " ]( {$this->getDate()} {$this->getMessage()} ) :\n{$this->getMessage()}";
  89. }
  90. }