ergebnis/clock

提供时钟抽象。

2.8.0 2024-02-18 10:08 UTC

README

Integrate Merge Release Renew

Code Coverage Type Coverage

Latest Stable Version Total Downloads Monthly Downloads

该项目提供了一个遵循 composer 的建议并由 Martin Fowler 提出的时钟抽象的包,并兼容 PSR-20

安装

运行

composer require ergebnis/clock

用法

SystemClock

创建一个新的系统时钟并使用它来确定当前时间

<?php

declare(strict_types=1);

use Ergebnis\Clock;

$timeZone = new \DateTimeZone('Europe/Berlin');

$clock = new Clock\SystemClock($timeZone);

$now = $clock->now();

FrozenClock

创建一个新的冻结时钟并在测试中使用它

<?php

declare(strict_types=1);

use Ergebnis\Clock;

$now = new \DateTimeImmutable();

$clock = new Clock\FrozenClock($now);

sleep(5);

$stillNow = $clock->now();

或者,通过冻结系统时钟来创建一个新的冻结时钟

<?php

declare(strict_types=1);

use Ergebnis\Clock;

$timeZone = new \DateTimeZone('Europe/Berlin');

$clock = new Clock\SystemClock($timeZone);

$frozenClock = $clock->freeze();

$now = $clock->now();

sleep(5);

$stillNow = $clock->now();

更新日志

此项目的维护者在一个 更新日志 中记录了此项目的显著更改。

贡献

此项目的维护者建议遵循 贡献指南

行为准则

此项目的维护者要求贡献者遵循 行为准则

一般支持政策

此项目的维护者提供有限支持。

您可以通过 赞助 @localheinz为此项目相关的服务请求发票 来支持此项目的维护。

PHP 版本支持政策

此项目支持具有 活动和安全支持 的 PHP 版本。

此项目的维护者在其初始发布后添加对 PHP 版本的支持,并在其达到安全支持结束时停止支持该 PHP 版本。

安全政策

此项目有一个 安全政策

许可证

此项目使用 MIT 许可证

致谢

本项目灵感来源于 lcobucci/clock(最初由 Luís Cobucci 以 MIT 许可证发布)。

社交

关注 Twitter 上的 @localheinz@ergebnis