lajouizakariae / rate-limiter
此包的最新版本(0.0.2)没有提供许可证信息。
使用 Php 编写的速率限制器
0.0.2
2024-03-18 21:58 UTC
Requires
- php: >=8.1
Requires (Dev)
- phpunit/phpunit: ^10.5
- symfony/var-dumper: ^6.3
README
简介
此包是一个速率限制器,允许您为每(分钟、小时或任何数量的秒)定义一个限制。它提供了不同的方法,允许您定义、删除、增加速率。
安装
composer require lajouizakariae/rate-limiter
基本用法
use RateLimiter\RateLimiter; $rateLimiter = new RateLimiter([ 'storage' => "file", 'path' => "storage/cache", ]); $rateLimiter->limitHourly('user:one', 3); if ($rateLimiter->tooManyAttempts('user:one')) { # Do Something } $rateLimiter->hit('user:one');
创建速率限制器
您可以通过实例化 RateLimiter 类来创建速率限制器,唯一必需的参数是一个关联数组。
您需要定义将使用哪种类型的存储,目前此包仅支持文件系统存储。
如果您选择在文件系统中保存速率限制器的数据,您需要提供一个路径键,以显示速率限制器应将数据存储在哪里。
如果目录不存在,它将为您创建。
注意:路径应该是保存数据的目标目录的绝对路径。