welcome back to dyb-tech

This commit is contained in:
Daniel Guzman
2024-05-18 02:28:01 +02:00
parent 9513cdba09
commit 9f30bc98c7
6149 changed files with 668407 additions and 0 deletions
+12
View File
@@ -0,0 +1,12 @@
<?php
declare(strict_types=1);
namespace Lcobucci\Clock;
use DateTimeImmutable;
use Psr\Clock\ClockInterface;
interface Clock extends ClockInterface
{
public function now(): DateTimeImmutable;
}
+29
View File
@@ -0,0 +1,29 @@
<?php
declare(strict_types=1);
namespace Lcobucci\Clock;
use DateTimeImmutable;
use DateTimeZone;
final class FrozenClock implements Clock
{
public function __construct(private DateTimeImmutable $now)
{
}
public static function fromUTC(): self
{
return new self(new DateTimeImmutable('now', new DateTimeZone('UTC')));
}
public function setTo(DateTimeImmutable $now): void
{
$this->now = $now;
}
public function now(): DateTimeImmutable
{
return $this->now;
}
}
+31
View File
@@ -0,0 +1,31 @@
<?php
declare(strict_types=1);
namespace Lcobucci\Clock;
use DateTimeImmutable;
use DateTimeZone;
use function date_default_timezone_get;
final class SystemClock implements Clock
{
public function __construct(private readonly DateTimeZone $timezone)
{
}
public static function fromUTC(): self
{
return new self(new DateTimeZone('UTC'));
}
public static function fromSystemTimezone(): self
{
return new self(new DateTimeZone(date_default_timezone_get()));
}
public function now(): DateTimeImmutable
{
return new DateTimeImmutable('now', $this->timezone);
}
}