arokettu / clock
PSR-20 实现
2.6.1
2024-09-06 16:29 UTC
Requires
- php: ^8.0
- arokettu/datetime-rounding: ^1.0
- arokettu/system-clock: ^2.0
- psr/clock: ^1.0
Requires (Dev)
- nesbot/carbon: ^2
- phpunit/phpunit: ^9
- psy/psysh: *
- sandfox.dev/code-standard: ^1.2024.07.20
- squizlabs/php_codesniffer: *
- vimeo/psalm: ^5
Provides
README
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 许可协议 以开源方式提供。