Files
breadcrumb-the-shire/lib/Service/Security/SecurityServicesFactory.php
2026-03-05 11:17:42 +01:00

26 lines
683 B
PHP

<?php
namespace MintyPHP\Service\Security;
use MintyPHP\Repository\Security\RateLimitRepositoryInterface;
class SecurityServicesFactory
{
private ?RateLimiterService $rateLimiterService = null;
public function __construct(
private readonly SecurityRepositoryFactory $securityRepositoryFactory
) {
}
public function createRateLimitRepository(): RateLimitRepositoryInterface
{
return $this->securityRepositoryFactory->createRateLimitRepository();
}
public function createRateLimiterService(): RateLimiterService
{
return $this->rateLimiterService ??= new RateLimiterService($this->createRateLimitRepository());
}
}