arokettu/clock

2.6.1 2024-09-06 16:29 UTC

This package is auto-updated.

Last update: 2024-09-06 16:37:48 UTC


README

Packagist PHP License Gitlab pipeline status Codecov Downloads

PSR-20 的时钟抽象类集合 PSR-20.

安装

composer require arokettu/clock

支持的版本

  • 1.x (LTS-ish, PHP 7.0+)
  • 2.x (current, PHP 8.0+)

示例

<?php

$clock = new \Arokettu\Clock\SystemClock();
$clockPsrAwareValidator->isValid($clock);

具体示例,请参考 lcobucci/jwt

<?php

use Arokettu\Clock\SystemClock;
use Lcobucci\JWT\Configuration;
use Lcobucci\JWT\Signer\Hmac\Sha256;

$cfg = Configuration::forSymmetricSigner(new Sha256(), '...');
$token = $cfg->parser()->parse('...');

$cfg->validator()->assert(
    $token,
    new StrictValidAt(new SystemClock())
);

文档

可用的时钟类

  • SystemClock. 返回操作系统时钟的简单类,也可作为独立的包使用:arokettu/system-clock
  • ShiftedClock. 系统时钟 + 固定间隔
  • StaticClock. 返回单个设定值的时钟
  • MutableClock. 基于可变 DateTime 类
  • TickingClock. 每次调用都会前进一个间隔的时钟
  • CallbackClock. 闭包的包装器,也支持生成器闭包
  • RoundingClock. 将时间四舍五入到一定精度的时钟包装器
  • OffsetClock. 通过给定间隔修改内部时钟的时钟包装器

在此处阅读完整文档:https://sandfox.dev/php/clock.html

也在 Read the Docs 上:https://arokettu-clock.readthedocs.io/

支持

请在我们 GitLab 的主要仓库中提交问题: https://gitlab.com/sandfox/php-clock/-/issues

欢迎在 Gitter 的房间中提问: https://gitter.im/arokettu/community

许可协议

该库根据 MIT 许可协议 以开源方式提供。