RateLimiter
class RateLimiter (View source)
Особенности
| Взаимодействие со временем |
Свойства
| protected Репозиторий | $cache | Реализация хранилища кэша. | |
| protected array | $limiters | Настроенные обработчики объектов ограничений. |
Методы
| int | secondsUntil(DateTimeInterface|DateInterval|int $delay)
Получить количество секунд до заданной даты и времени. | из Взаимодействие со временем |
| int | availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Получить временную метку Unix "доступно в". | из Взаимодействие со временем |
| DateTimeInterface|int | parseDateInterval(DateTimeInterface|DateInterval|int $delay)
Если заданное значение является интервалом, преобразовать его в экземпляр DateTime. | из Взаимодействие со временем |
| int | currentTime()
Получить текущее системное время в виде метки времени Unix. | из Взаимодействие со временем |
| void | __construct(Репозиторий $cache)
Создать новый экземпляр ограничитель скорости. | |
| $this | for(string $name, Closure $callback)
Зарегистрировать конфигурацию ограничение с именем. | |
| Closure | limiter(string $name)
Получить заданный ограничитель скорости с именем. | |
| mixed | attempt(string $key, int $maxAttempts, Closure $callback, int $decaySeconds = 60)
Попытка выполнить обратный вызов, если он не ограничен. | |
| bool | tooManyAttempts(string $key, int $maxAttempts)
Определить, было ли заданное значение "доступно" слишком много раз. | |
| int | hit(string $key, int $decaySeconds = 60)
Увеличить счетчик для заданного значения ключа на заданное время затухания. | |
| mixed | attempts(string $key)
Получить количество попыток для данного ключа. | |
| mixed | resetAttempts(string $key)
Сбросить количество попыток для данного ключа. | |
| int | remaining(string $key, int $maxAttempts)
Получить оставшееся количество попыток для заданного ключа. | |
| int | retriesLeft(string $key, int $maxAttempts)
Получить оставшееся количество попыток для заданного ключа. | |
| void | clear(string $key)
Очистить попадания и таймер блокировки для заданного ключа. | |
| int | availableIn(string $key)
Получить количество секунд до повторного доступа к "ключу". | |
| string | cleanRateLimiterKey(string $key)
Очистить ключ ограничителя скорости от символов Юникода. |
Подробности
protected int secondsUntil(DateTimeInterface|DateInterval|int $delay)
Получить количество секунд до указанной даты DateTime.
protected int availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Получить отметку времени UNIX «доступно в».
protected DateTimeInterface|int parseDateInterval(DateTimeInterface|DateInterval|int $delay)
Если заданное значение является интервалом, преобразовать его в экземпляр DateTime.
protected int currentTime()
Получить текущее системное время в формате отметки времени UNIX.
void __construct(Repository $cache)
Создать новый экземпляр ограничителя скорости.
$this for(string $name, Closure $callback)
Зарегистрировать конфигурацию ограничителя с именем.
Closure limiter(string $name)
Получить заданный именованный ограничитель скорости.
mixed attempt(string $key, int $maxAttempts, Closure $callback, int $decaySeconds = 60)
Попытка выполнить обратный вызов, если он не ограничен.
bool tooManyAttempts(string $key, int $maxAttempts)
Определение, превышено ли для данного ключа количество "доступов".
int hit(string $key, int $decaySeconds = 60)
Увеличение счетчика для данного ключа на заданное время отката.
mixed attempts(string $key)
Получение количества попыток для данного ключа.
mixed resetAttempts(string $key)
Сброс количества попыток для данного ключа.
int remaining(string $key, int $maxAttempts)
Получение количества оставшихся попыток для данного ключа.
int retriesLeft(string $key, int $maxAttempts)
Получение количества оставшихся попыток для данного ключа.
void clear(string $key)
Очистка хитов и таймера блокировки для данного ключа.
int availableIn(string $key)
Получение количества секунд, оставшихся до повторного доступа к "ключу".
string cleanRateLimiterKey(string $key)
Очистка ключа лимита запросов от символов Юникода.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/9.x/Illuminate/Cache/RateLimiter.html