diff --git a/README.md b/README.md index d5679ad..97e4c2b 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ Create Symfony Health Check Bundle Routing Config: ```yaml health_check: - resource: '@SymfonyHealthCheckBundle/Resources/config/routes.xml' + resource: '@SymfonyHealthCheckBundle/Resources/config/routes.php' ``` Step 3: Configuration diff --git a/src/DependencyInjection/SymfonyHealthCheckExtension.php b/src/DependencyInjection/SymfonyHealthCheckExtension.php index 43657af..82c4796 100644 --- a/src/DependencyInjection/SymfonyHealthCheckExtension.php +++ b/src/DependencyInjection/SymfonyHealthCheckExtension.php @@ -9,7 +9,7 @@ use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\DependencyInjection\Extension\Extension; -use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; +use Symfony\Component\DependencyInjection\Loader\PhpFileLoader; use SymfonyHealthCheckBundle\Controller\HealthController; use SymfonyHealthCheckBundle\Controller\PingController; @@ -20,8 +20,8 @@ public function load(array $configs, ContainerBuilder $container): void $configuration = new Configuration(); $config = $this->processConfiguration($configuration, $configs); - $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config')); - $loader->load('controller.xml'); + $loader = new PhpFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config')); + $loader->load('controller.php'); $this->loadHealthChecks($config, $loader, $container); @@ -31,10 +31,10 @@ public function load(array $configs, ContainerBuilder $container): void private function loadHealthChecks( array $config, - XmlFileLoader $loader, + PhpFileLoader $loader, ContainerBuilder $container ): void { - $loader->load('health_checks.xml'); + $loader->load('health_checks.php'); $healthCheckCollection = $container->findDefinition(HealthController::class); diff --git a/src/Resources/config/controller.php b/src/Resources/config/controller.php new file mode 100644 index 0000000..61affb1 --- /dev/null +++ b/src/Resources/config/controller.php @@ -0,0 +1,25 @@ +services(); + $parameters = $container->parameters(); + + $services->defaults() + ->autowire() + ->autoconfigure(); + + $services->set(HealthController::class, HealthController::class) + ->public() + ->tag('container.service_subscriber'); + + $services->set(PingController::class, PingController::class) + ->public() + ->tag('container.service_subscriber'); +}; diff --git a/src/Resources/config/controller.xml b/src/Resources/config/controller.xml deleted file mode 100644 index 6607053..0000000 --- a/src/Resources/config/controller.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/Resources/config/health_checks.php b/src/Resources/config/health_checks.php new file mode 100644 index 0000000..48a418d --- /dev/null +++ b/src/Resources/config/health_checks.php @@ -0,0 +1,47 @@ +services(); + $parameters = $container->parameters(); + + $services->defaults() + ->public() + ->autowire() + ->autoconfigure(); + + $services->set('symfony_health_check.redis_adapter_wrapper', RedisAdapterWrapper::class) + ->private(); + + $services->set('symfony_health_check.doctrine_check', DoctrineORMCheck::class) + ->args([service('service_container')]) + ->deprecate( + 'macpaw/symfony-health-check-bundle', + '1.4.2', + 'The "%service_id%" service alias is deprecated, use symfony_health_check.doctrine_orm_check instead' + ); + + $services->set('symfony_health_check.doctrine_orm_check', DoctrineORMCheck::class) + ->args([service('service_container')]); + + $services->set('symfony_health_check.doctrine_odm_check', DoctrineODMCheck::class) + ->args([service('service_container')]); + + $services->set('symfony_health_check.redis_check', RedisCheck::class) + ->args([service('symfony_health_check.redis_adapter_wrapper')]); + + $services->set('symfony_health_check.environment_check', EnvironmentCheck::class) + ->args([service('service_container')]); + + $services->set('symfony_health_check.status_up_check', StatusUpCheck::class); +}; diff --git a/src/Resources/config/health_checks.xml b/src/Resources/config/health_checks.xml deleted file mode 100644 index b950e8a..0000000 --- a/src/Resources/config/health_checks.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - The "%service_id%" service alias is deprecated, use symfony_health_check.doctrine_orm_check instead - - - - - - - - - - - - - - - - diff --git a/src/Resources/config/routes.php b/src/Resources/config/routes.php new file mode 100644 index 0000000..444cc59 --- /dev/null +++ b/src/Resources/config/routes.php @@ -0,0 +1,19 @@ +add('health', '/health') + ->controller([HealthController::class, 'check']) + ->methods(['GET']); + + $routes->add('ping', '/ping') + ->controller([PingController::class, 'check']) + ->methods(['GET']); +}; diff --git a/src/Resources/config/routes.xml b/src/Resources/config/routes.xml deleted file mode 100644 index 2eede32..0000000 --- a/src/Resources/config/routes.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - diff --git a/tests/config.yml b/tests/config.yml index 71f2dbd..41a6b51 100644 --- a/tests/config.yml +++ b/tests/config.yml @@ -1,5 +1,5 @@ framework: secret: secret router: - resource: "%kernel.project_dir%/Resources/config/routes.xml" + resource: "%kernel.project_dir%/Resources/config/routes.php" test: ~