Phred/src/Providers/Core/OpenApiServiceProvider.php

32 lines
1 KiB
PHP
Raw Normal View History

2026-01-06 17:02:05 +00:00
<?php
declare(strict_types=1);
namespace Phred\Providers\Core;
use DI\Container;
use DI\ContainerBuilder;
use Phred\Http\Routing\RouteRegistry;
use Phred\Support\Contracts\ConfigInterface;
use Phred\Support\Contracts\ServiceProviderInterface;
use Phred\Http\Controllers\OpenApiJsonController;
use Phred\Http\Controllers\OpenApiUiController;
final class OpenApiServiceProvider implements ServiceProviderInterface
{
public function register(ContainerBuilder $builder, ConfigInterface $config): void
{
// No special bindings needed for OpenApi controllers as they can be autowired
}
public function boot(Container $container): void
{
RouteRegistry::add(static function ($r, $router): void {
$router->group('/_phred', static function ($router): void {
$router->get('/openapi', OpenApiJsonController::class);
$router->get('/openapi.json', OpenApiJsonController::class);
$router->get('/docs', OpenApiUiController::class);
});
});
}
}