implement immutable datetime

This commit is contained in:
Dennis Eichhorn 2020-09-10 20:18:46 +02:00
parent 7d36257d7a
commit a38d24e837
5 changed files with 9 additions and 9 deletions

View File

@ -49,7 +49,7 @@ final class AccountMapper extends DataMapperAbstract
'account_tries' => ['name' => 'account_tries', 'type' => 'int', 'internal' => 'tries'],
'account_lactive' => ['name' => 'account_lactive', 'type' => 'DateTime', 'internal' => 'lastActive'],
'account_localization' => ['name' => 'account_localization', 'type' => 'int', 'internal' => 'localization'],
'account_created_at' => ['name' => 'account_created_at', 'type' => 'DateTime', 'internal' => 'createdAt', 'readonly' => true],
'account_created_at' => ['name' => 'account_created_at', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt', 'readonly' => true],
];
/**

View File

@ -30,7 +30,7 @@ class Group extends \phpOMS\Account\Group
* @var \DateTime
* @since 1.0.0
*/
protected \DateTime $createdAt;
protected \DateTimeImmutable $createdAt;
/**
* Created by.
@ -66,7 +66,7 @@ class Group extends \phpOMS\Account\Group
public function __construct(string $name = '')
{
$this->createdBy = new NullAccount();
$this->createdAt = new \DateTime('now');
$this->createdAt = new \DateTimeImmutable('now');
$this->setName($name);
}
@ -77,7 +77,7 @@ class Group extends \phpOMS\Account\Group
*
* @since 1.0.0
*/
public function getCreatedAt() : \DateTime
public function getCreatedAt() : \DateTimeInterface
{
return $this->createdAt;
}

View File

@ -39,7 +39,7 @@ final class GroupMapper extends DataMapperAbstract
'group_status' => ['name' => 'group_status', 'type' => 'int', 'internal' => 'status'],
'group_desc' => ['name' => 'group_desc', 'type' => 'string', 'internal' => 'description'],
'group_desc_raw' => ['name' => 'group_desc_raw', 'type' => 'string', 'internal' => 'descriptionRaw'],
'group_created' => ['name' => 'group_created', 'type' => 'DateTime', 'internal' => 'createdAt', 'readonly' => true],
'group_created' => ['name' => 'group_created', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt', 'readonly' => true],
];
/**

View File

@ -65,7 +65,7 @@ class Module
* @var \DateTime
* @since 1.0.0
*/
protected \DateTime $createdAt;
protected \DateTimeImmutable $createdAt;
/**
* Constructor.
@ -74,7 +74,7 @@ class Module
*/
public function __construct()
{
$this->createdAt = new \DateTime('now');
$this->createdAt = new \DateTimeImmutable('now');
}
/**
@ -96,7 +96,7 @@ class Module
*
* @since 1.0.0
*/
public function getCreatedAt() : \DateTime
public function getCreatedAt() : \DateTimeInterface
{
return $this->createdAt;
}

View File

@ -39,7 +39,7 @@ class ModuleTest extends \PHPUnit\Framework\TestCase
public function testDefault() : void
{
self::assertEquals(0, $this->module->getId());
self::assertInstanceOf('\DateTime', $this->module->getCreatedAt());
self::assertInstanceOf('\DateTimeImmutable', $this->module->getCreatedAt());
self::assertEquals('', $this->module->getName());
self::assertEquals('', $this->module->getDescription());
self::assertEquals(ModuleStatus::INACTIVE, $this->module->getStatus());