eventsauce / clock
从时钟消耗时间
1.2.1
2024-03-04 20:22 UTC
Requires
- php: ^8.0
- psr/clock: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.18.4
- phpstan/phpstan: ^0.12.82
- phpunit/phpunit: ^9.4
Provides
README
这是EventSauce Clock组件,它提供了一种直接消耗时间的方式。使用时钟可以使您的代码更容易测试。
安装
composer require eventsauce/clock
用法
此包提供了两个对EventSauce\Clock\Clock
接口的实现。
在生产配置中,使用EventSauce\Clock\SystemClock
实现。
<?php use EventSauce\Clock\SystemClock; $clock = new SystemClock(new DateTimeZone('UTC') /* timezone optional */); $dateTimeImmutable = $clock->now(); $timezone = $clock->timeZone();
在测试配置中,使用EventSauce\Clock\TestClock
实现。
<?php use EventSauce\Clock\TestClock; $testClock = new TestClock(); $dateTimeImmutable = $testClock->now(); $timezone = $testClock->timeZone(); // move the clock forward $testClock->moveForward(DateInterval::createFromDateString('1 day')); // Skip to system "now" $testClock->tick(); // Fixate the clock to a specific date and time $testClock->fixate('1987-11-24 18:33:10');