TimestampsTrait.php
- Pfad:
src/Domain/Traits/TimestampsTrait.php - Namespace: Domain\Traits
- Zeilen: 40 | Größe: 897 Bytes
- Geändert: 2025-12-28 14:18:03 | Gescannt: 2025-12-31 10:22:15
Code Hygiene Score: 100
- Dependencies: 100 (25%)
- LOC: 100 (20%)
- Methods: 100 (20%)
- Secrets: 100 (15%)
- Classes: 100 (10%)
- Magic Numbers: 100 (10%)
Keine Issues gefunden.
Klassen 1
-
TimestampsTraittrait Zeile 9
Funktionen 5
-
getCreatedAt()public Zeile 15 -
getUpdatedAt()public Zeile 20 -
getCompletedAt()public Zeile 25 -
touch()private Zeile 30 -
toDateTime()private Zeile 35
Verwendet von 2
Code
<?php
declare(strict_types=1);
namespace Domain\Traits;
// @responsibility: Wiederverwendbare Timestamp-Getter für Entities
trait TimestampsTrait
{
private \DateTimeImmutable $createdAt;
private \DateTimeImmutable $updatedAt;
private ?\DateTimeImmutable $completedAt = null;
public function getCreatedAt(): \DateTimeImmutable
{
return $this->createdAt;
}
public function getUpdatedAt(): \DateTimeImmutable
{
return $this->updatedAt;
}
public function getCompletedAt(): ?\DateTimeImmutable
{
return $this->completedAt;
}
private function touch(): void
{
$this->updatedAt = new \DateTimeImmutable();
}
private function toDateTime(\DateTimeImmutable|string $value): \DateTimeImmutable
{
return $value instanceof \DateTimeImmutable ? $value : new \DateTimeImmutable($value);
}
}