implement immutable datetime

This commit is contained in:
Dennis Eichhorn 2020-09-10 20:18:46 +02:00
parent cd5c962095
commit e5c47427be
6 changed files with 11 additions and 11 deletions

View File

@ -56,7 +56,7 @@ class Calendar
* @var \DateTime * @var \DateTime
* @since 1.0.0 * @since 1.0.0
*/ */
private \DateTime $createdAt; private \DateTimeImmutable $createdAt;
/** /**
* Current date of the calendar. * Current date of the calendar.
@ -81,7 +81,7 @@ class Calendar
*/ */
public function __construct() public function __construct()
{ {
$this->createdAt = new \DateTime('now'); $this->createdAt = new \DateTimeImmutable('now');
$this->date = new SmartDateTime('now'); $this->date = new SmartDateTime('now');
} }
@ -200,7 +200,7 @@ class Calendar
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public function getCreatedAt() : \DateTime public function getCreatedAt() : \DateTimeInterface
{ {
return $this->createdAt; return $this->createdAt;
} }

View File

@ -40,7 +40,7 @@ final class CalendarMapper extends DataMapperAbstract
'calendar_id' => ['name' => 'calendar_id', 'type' => 'int', 'internal' => 'id'], 'calendar_id' => ['name' => 'calendar_id', 'type' => 'int', 'internal' => 'id'],
'calendar_name' => ['name' => 'calendar_name', 'type' => 'string', 'internal' => 'name'], 'calendar_name' => ['name' => 'calendar_name', 'type' => 'string', 'internal' => 'name'],
'calendar_description' => ['name' => 'calendar_description', 'type' => 'string', 'internal' => 'description'], 'calendar_description' => ['name' => 'calendar_description', 'type' => 'string', 'internal' => 'description'],
'calendar_created_at' => ['name' => 'calendar_created_at', 'type' => 'DateTime', 'internal' => 'createdAt', 'readonly' => true], 'calendar_created_at' => ['name' => 'calendar_created_at', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt', 'readonly' => true],
]; ];
/** /**

View File

@ -58,7 +58,7 @@ class Event
* @var \DateTime * @var \DateTime
* @since 1.0.0 * @since 1.0.0
*/ */
private \DateTime $createdAt; private \DateTimeImmutable $createdAt;
/** /**
* Creator. * Creator.
@ -128,7 +128,7 @@ class Event
public function __construct() public function __construct()
{ {
$this->createdBy = new NullAccount(); $this->createdBy = new NullAccount();
$this->createdAt = new \DateTime('now'); $this->createdAt = new \DateTimeImmutable('now');
$this->location = new Location(); $this->location = new Location();
$this->schedule = new Schedule(); $this->schedule = new Schedule();
} }
@ -242,7 +242,7 @@ class Event
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public function getCreatedAt() : \DateTime public function getCreatedAt() : \DateTimeInterface
{ {
return $this->createdAt; return $this->createdAt;
} }

View File

@ -43,7 +43,7 @@ final class EventMapper extends DataMapperAbstract
'calendar_event_schedule' => ['name' => 'calendar_event_schedule', 'type' => 'int', 'internal' => 'schedule'], 'calendar_event_schedule' => ['name' => 'calendar_event_schedule', 'type' => 'int', 'internal' => 'schedule'],
'calendar_event_calendar' => ['name' => 'calendar_event_calendar', 'type' => 'int', 'internal' => 'calendar'], 'calendar_event_calendar' => ['name' => 'calendar_event_calendar', 'type' => 'int', 'internal' => 'calendar'],
'calendar_event_created_by' => ['name' => 'calendar_event_created_by', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true], 'calendar_event_created_by' => ['name' => 'calendar_event_created_by', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true],
'calendar_event_created_at' => ['name' => 'calendar_event_created_at', 'type' => 'DateTime', 'internal' => 'createdAt', 'readonly' => true], 'calendar_event_created_at' => ['name' => 'calendar_event_created_at', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt', 'readonly' => true],
]; ];
/** /**

View File

@ -122,7 +122,7 @@ class Schedule
* @var \DateTime * @var \DateTime
* @since 1.0.0 * @since 1.0.0
*/ */
private \DateTime $createdAt; private \DateTimeImmutable $createdAt;
/** /**
* Created by. * Created by.
@ -140,7 +140,7 @@ class Schedule
public function __construct() public function __construct()
{ {
$this->createdBy = new NullAccount(); $this->createdBy = new NullAccount();
$this->createdAt = new \DateTime('now'); $this->createdAt = new \DateTimeImmutable('now');
$this->start = new \DateTime('now'); $this->start = new \DateTime('now');
$this->end = new \DateTime('now'); $this->end = new \DateTime('now');
$this->end->setTimestamp($this->end->getTimestamp() + $this->duration); $this->end->setTimestamp($this->end->getTimestamp() + $this->duration);

View File

@ -45,7 +45,7 @@ final class ScheduleMapper extends DataMapperAbstract
'schedule_start' => ['name' => 'schedule_start', 'type' => 'DateTime', 'internal' => 'start'], 'schedule_start' => ['name' => 'schedule_start', 'type' => 'DateTime', 'internal' => 'start'],
'schedule_duration' => ['name' => 'schedule_duration', 'type' => 'int', 'internal' => 'duration'], 'schedule_duration' => ['name' => 'schedule_duration', 'type' => 'int', 'internal' => 'duration'],
'schedule_end' => ['name' => 'schedule_end', 'type' => 'DateTime', 'internal' => 'end'], 'schedule_end' => ['name' => 'schedule_end', 'type' => 'DateTime', 'internal' => 'end'],
'schedule_created_at' => ['name' => 'schedule_created_at', 'type' => 'DateTime', 'internal' => 'createdAt', 'readonly' => true], 'schedule_created_at' => ['name' => 'schedule_created_at', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt', 'readonly' => true],
'schedule_created_by' => ['name' => 'schedule_created_by', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true], 'schedule_created_by' => ['name' => 'schedule_created_by', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true],
]; ];