abtswath/limiter

There is no license information available for the latest version (dev-main) of this package.

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/abtswath/limiter

dev-main 2024-05-15 14:22 UTC

This package is auto-updated.

Last update: 2025-10-15 17:48:19 UTC


README

Limiter 是一个支持多种限流算法与存储后端的 API 限流器。

Limiter 要求 PHP >= 8.2。

目录

安装

composer require abtswath/limiter

代码结构

UML

基本用法

Limiter 支持 PSR-4 自动加载。

<?php
require_once 'vendor/autoload.php';

固定窗口算法

<?php

$store = new Limiter\Store\MemoryStore();
$limiter = new Limiter\FixedWindowLimiter(store: $store, limit: 10, windowSize: 60);

$limiter->attempt($key);

滑动日志算法

<?php

$store = new Limiter\Store\MemoryStore();
$limiter = new Limiter\SlidingLogLimiter(store: $store, limit: 10, windowSize: 60);

$limiter->attempt($key);