- Add DISCOVERY_LOG_LEVEL=debug - Add DISCOVERY_SHOW_PROGRESS=true - Temporary changes for debugging InitializerProcessor fixes on production
33 lines
878 B
PHP
33 lines
878 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Framework\Random;
|
|
|
|
use App\Framework\DI\Container;
|
|
use App\Framework\DI\Initializer;
|
|
use App\Framework\Security\CsrfTokenGenerator;
|
|
|
|
final readonly class RandomGeneratorInitializer
|
|
{
|
|
public function __construct(
|
|
private Container $container
|
|
) {
|
|
}
|
|
|
|
/**
|
|
* Initialize random-related services in the container.
|
|
*/
|
|
#[Initializer]
|
|
public function __invoke(): void
|
|
{
|
|
// Register core RandomGenerator
|
|
$this->container->singleton(RandomGenerator::class, SecureRandomGenerator::class);
|
|
|
|
// Register specific generators that depend on RandomGenerator
|
|
$this->container->singleton(CsrfTokenGenerator::class, function (Container $container): CsrfTokenGenerator {
|
|
return new CsrfTokenGenerator($container->get(RandomGenerator::class));
|
|
});
|
|
}
|
|
}
|