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

View File

@ -40,7 +40,7 @@ final class CalendarMapper extends DataMapperAbstract
'calendar_id' => ['name' => 'calendar_id', 'type' => 'int', 'internal' => 'id'],
'calendar_name' => ['name' => 'calendar_name', 'type' => 'string', 'internal' => 'name'],
'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
* @since 1.0.0
*/
private \DateTime $createdAt;
private \DateTimeImmutable $createdAt;
/**
* Creator.
@ -128,7 +128,7 @@ class Event
public function __construct()
{
$this->createdBy = new NullAccount();
$this->createdAt = new \DateTime('now');
$this->createdAt = new \DateTimeImmutable('now');
$this->location = new Location();
$this->schedule = new Schedule();
}
@ -242,7 +242,7 @@ class Event
*
* @since 1.0.0
*/
public function getCreatedAt() : \DateTime
public function getCreatedAt() : \DateTimeInterface
{
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_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_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
* @since 1.0.0
*/
private \DateTime $createdAt;
private \DateTimeImmutable $createdAt;
/**
* Created by.
@ -140,7 +140,7 @@ class Schedule
public function __construct()
{
$this->createdBy = new NullAccount();
$this->createdAt = new \DateTime('now');
$this->createdAt = new \DateTimeImmutable('now');
$this->start = new \DateTime('now');
$this->end = new \DateTime('now');
$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_duration' => ['name' => 'schedule_duration', 'type' => 'int', 'internal' => 'duration'],
'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],
];