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: ~