localheinz/clock

此包已被废弃且不再维护。作者建议使用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