docdoc / php-rate-limiter
此包已被 废弃 并不再维护。未建议替代包。
速率限制器 + PSR-15 中间件
此包尚未发布任何版本,可用的信息不多。
README
从 https://github.com/alexpts/php-rate-limiter 分支
速率限制器 + PSR-15 中间件
安装
composer require docdoc/php-rate-limiter
示例
<?php use DocDoc\RateLimiter\Adapter\MemoryAdapter; use DocDoc\RateLimiter\Limiter; use DocDoc\RateLimiter\RateLimitMiddleware; use Relay\Relay; use Zend\Diactoros\Response\JsonResponse; use Zend\Diactoros\ServerRequestFactory; require_once '../vendor/autoload.php'; $limitStore = new MemoryAdapter; $rateLimiter = new Limiter($limitStore); $response = new JsonResponse(['error' => 'Too Many Requests'], 429); $limiterMiddleware = new RateLimitMiddleware($rateLimiter, $response); $limiterMiddleware->setKeyAttr('ip'); $psr15Runner = new Relay([ $limiterMiddleware ]); // relay or other psr-15 runner $psr7Request = ServerRequestFactory::fromGlobals(); $response = $psr15Runner->handle($psr7Request); // flush response or other // ...