From c13c4d6eec6833ef5ae65a1cc16708033985eed7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Poirier=20Th=C3=A9or=C3=AAt?= <mpoiriert@gmail.com> Date: Fri, 28 Jun 2024 15:16:00 -0400 Subject: [PATCH] [Application] base service feature class --- app/src/Feature/DemoFeature.php | 9 +++++++-- .../Feature/SelfInitializeFeatureInterface.php | 2 +- .../Feature/ServiceFeature.php | 14 -------------- 3 files changed, 8 insertions(+), 17 deletions(-) delete mode 100644 packages/framework-extra-bundle/Feature/ServiceFeature.php diff --git a/app/src/Feature/DemoFeature.php b/app/src/Feature/DemoFeature.php index 63cbffb4d..469f4bf43 100644 --- a/app/src/Feature/DemoFeature.php +++ b/app/src/Feature/DemoFeature.php @@ -2,17 +2,22 @@ namespace App\Feature; -use Draw\Bundle\FrameworkExtraBundle\Feature\ServiceFeature; use Draw\Component\Application\Feature\Attribute\Config; +use Draw\Component\Application\Feature\FeatureInitializer; use Draw\Component\Application\Feature\SelfInitializeFeatureInterface; -class DemoFeature extends ServiceFeature implements SelfInitializeFeatureInterface +class DemoFeature implements SelfInitializeFeatureInterface { #[Config] private bool $enabled = true; private ?int $limit = null; + public function __construct(FeatureInitializer $featureInitializer) + { + $featureInitializer->initialize($this); + } + public function getName(): string { return 'acme_demo'; diff --git a/packages/application/Feature/SelfInitializeFeatureInterface.php b/packages/application/Feature/SelfInitializeFeatureInterface.php index d0c2d247d..e5cb86d24 100644 --- a/packages/application/Feature/SelfInitializeFeatureInterface.php +++ b/packages/application/Feature/SelfInitializeFeatureInterface.php @@ -2,7 +2,7 @@ namespace Draw\Component\Application\Feature; -interface SelfInitializeFeatureInterface +interface SelfInitializeFeatureInterface extends FeatureInterface { public function initialize(array $configuration): void; } diff --git a/packages/framework-extra-bundle/Feature/ServiceFeature.php b/packages/framework-extra-bundle/Feature/ServiceFeature.php deleted file mode 100644 index bdee2b345..000000000 --- a/packages/framework-extra-bundle/Feature/ServiceFeature.php +++ /dev/null @@ -1,14 +0,0 @@ -<?php - -namespace Draw\Bundle\FrameworkExtraBundle\Feature; - -use Draw\Component\Application\Feature\FeatureInitializer; -use Draw\Component\Application\Feature\FeatureInterface; - -abstract class ServiceFeature implements FeatureInterface -{ - public function __construct(FeatureInitializer $featureInitializer) - { - $featureInitializer->initialize($this); - } -}