org_heigl / clock
PSR-20的最小化示例实现
dev-main
2021-07-15 06:47 UTC
Requires
- php: ^8.0
- psr/clock: dev-master
Provides
This package is auto-updated.
Last update: 2024-09-15 13:21:18 UTC
README
PSR-20的最小化示例实现。
这个小巧的包允许你在代码中注入一个时钟,该时钟可以提供当前的日期和时间(对生产代码很有用)或者一个预定义的日期和时间(对测试很有用)。
用法
use Org_Heigl\Clock\FrozenClock; use Org_Heigl\Clock\SystemClock; use Psr\Clock\ClockInterface; class App { public function main(ClockInterface $clock): string { return sprintf( 'The current date and time is %s', $clock->now()->format('Y-m-d H:i:s.u') ); } } $app = new App(); $clock = new SystemClock(); var_Dump($app->main($clock) === $app->main($clock)); // This will most certainly be "false" $clock = new FrozenClock(new DateTimeImmutable()); var_dump($app->main($clock) === $app->main($clock)); // This will always be true
安装
像这样通过composer安装包
composer require org_heigl/clock