diff --git a/composer.json b/composer.json index e975e124..b80a8eb6 100644 --- a/composer.json +++ b/composer.json @@ -16,7 +16,7 @@ "doctrine/persistence": "^2.5|^3.0", "doctrine/dbal": "^3.3", "doctrine/orm": "^2.12", - "doctrine/doctrine-bundle": "^2.6", + "doctrine/doctrine-bundle": "^2.7.2", "symfony/cache": "^5.4|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/http-kernel": "^5.4|^6.0", diff --git a/src/EventSubscriber/BlameableEventSubscriber.php b/src/EventSubscriber/BlameableEventSubscriber.php index 968ea57f..edd11f2a 100644 --- a/src/EventSubscriber/BlameableEventSubscriber.php +++ b/src/EventSubscriber/BlameableEventSubscriber.php @@ -4,7 +4,7 @@ namespace Knp\DoctrineBehaviors\EventSubscriber; -use Doctrine\Bundle\DoctrineBundle\EventSubscriber\EventSubscriberInterface; +use Doctrine\Bundle\DoctrineBundle\Attribute\AsDoctrineListener; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Event\LifecycleEventArgs; use Doctrine\ORM\Event\LoadClassMetadataEventArgs; @@ -14,7 +14,11 @@ use Knp\DoctrineBehaviors\Contract\Entity\BlameableInterface; use Knp\DoctrineBehaviors\Contract\Provider\UserProviderInterface; -final class BlameableEventSubscriber implements EventSubscriberInterface +#[AsDoctrineListener(event: Events::loadClassMetadata)] +#[AsDoctrineListener(event: Events::prePersist)] +#[AsDoctrineListener(event: Events::preUpdate)] +#[AsDoctrineListener(event: Events::preRemove)] +final class BlameableEventSubscriber { /** * @var string @@ -131,14 +135,6 @@ public function preRemove(LifecycleEventArgs $lifecycleEventArgs): void ->propertyChanged($entity, self::DELETED_BY, $oldDeletedBy, $user); } - /** - * @return string[] - */ - public function getSubscribedEvents(): array - { - return [Events::prePersist, Events::preUpdate, Events::preRemove, Events::loadClassMetadata]; - } - private function mapEntity(ClassMetadataInfo $classMetadataInfo): void { if ($this->blameableUserEntity !== null && class_exists($this->blameableUserEntity)) { diff --git a/src/EventSubscriber/LoggableEventSubscriber.php b/src/EventSubscriber/LoggableEventSubscriber.php index f21907e7..68fd62ab 100644 --- a/src/EventSubscriber/LoggableEventSubscriber.php +++ b/src/EventSubscriber/LoggableEventSubscriber.php @@ -4,14 +4,17 @@ namespace Knp\DoctrineBehaviors\EventSubscriber; -use Doctrine\Bundle\DoctrineBundle\EventSubscriber\EventSubscriberInterface; +use Doctrine\Bundle\DoctrineBundle\Attribute\AsDoctrineListener; use Doctrine\ORM\Event\LifecycleEventArgs; use Doctrine\ORM\Events; use Knp\DoctrineBehaviors\Contract\Entity\LoggableInterface; use Psr\Log\LoggerInterface; use Psr\Log\LogLevel; -final class LoggableEventSubscriber implements EventSubscriberInterface +#[AsDoctrineListener(event: Events::postPersist)] +#[AsDoctrineListener(event: Events::postUpdate)] +#[AsDoctrineListener(event: Events::preRemove)] +final class LoggableEventSubscriber { public function __construct( private LoggerInterface $logger @@ -50,14 +53,6 @@ public function preRemove(LifecycleEventArgs $lifecycleEventArgs): void } } - /** - * @return string[] - */ - public function getSubscribedEvents(): array - { - return [Events::postPersist, Events::postUpdate, Events::preRemove]; - } - /** * Logs entity changeset */ diff --git a/src/EventSubscriber/SluggableEventSubscriber.php b/src/EventSubscriber/SluggableEventSubscriber.php index 6d0b3b9b..41ffdab6 100644 --- a/src/EventSubscriber/SluggableEventSubscriber.php +++ b/src/EventSubscriber/SluggableEventSubscriber.php @@ -4,7 +4,7 @@ namespace Knp\DoctrineBehaviors\EventSubscriber; -use Doctrine\Bundle\DoctrineBundle\EventSubscriber\EventSubscriberInterface; +use Doctrine\Bundle\DoctrineBundle\Attribute\AsDoctrineListener; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Event\LifecycleEventArgs; use Doctrine\ORM\Event\LoadClassMetadataEventArgs; @@ -13,7 +13,10 @@ use Knp\DoctrineBehaviors\Contract\Entity\SluggableInterface; use Knp\DoctrineBehaviors\Repository\DefaultSluggableRepository; -final class SluggableEventSubscriber implements EventSubscriberInterface +#[AsDoctrineListener(event: Events::loadClassMetadata)] +#[AsDoctrineListener(event: Events::prePersist)] +#[AsDoctrineListener(event: Events::preUpdate)] +final class SluggableEventSubscriber { /** * @var string @@ -50,14 +53,6 @@ public function preUpdate(LifecycleEventArgs $lifecycleEventArgs): void $this->processLifecycleEventArgs($lifecycleEventArgs); } - /** - * @return string[] - */ - public function getSubscribedEvents(): array - { - return [Events::loadClassMetadata, Events::prePersist, Events::preUpdate]; - } - private function shouldSkip(ClassMetadataInfo $classMetadataInfo): bool { if (! is_a($classMetadataInfo->getName(), SluggableInterface::class, true)) { diff --git a/src/EventSubscriber/SoftDeletableEventSubscriber.php b/src/EventSubscriber/SoftDeletableEventSubscriber.php index e8ba92e2..fa130930 100644 --- a/src/EventSubscriber/SoftDeletableEventSubscriber.php +++ b/src/EventSubscriber/SoftDeletableEventSubscriber.php @@ -4,13 +4,15 @@ namespace Knp\DoctrineBehaviors\EventSubscriber; -use Doctrine\Bundle\DoctrineBundle\EventSubscriber\EventSubscriberInterface; +use Doctrine\Bundle\DoctrineBundle\Attribute\AsDoctrineListener; use Doctrine\ORM\Event\LoadClassMetadataEventArgs; use Doctrine\ORM\Event\OnFlushEventArgs; use Doctrine\ORM\Events; use Knp\DoctrineBehaviors\Contract\Entity\SoftDeletableInterface; -final class SoftDeletableEventSubscriber implements EventSubscriberInterface +#[AsDoctrineListener(event: Events::loadClassMetadata)] +#[AsDoctrineListener(event: Events::onFlush)] +final class SoftDeletableEventSubscriber { /** * @var string @@ -62,11 +64,4 @@ public function loadClassMetadata(LoadClassMetadataEventArgs $loadClassMetadataE ]); } - /** - * @return string[] - */ - public function getSubscribedEvents(): array - { - return [Events::onFlush, Events::loadClassMetadata]; - } } diff --git a/src/EventSubscriber/TimestampableEventSubscriber.php b/src/EventSubscriber/TimestampableEventSubscriber.php index 292e058b..51331fbb 100644 --- a/src/EventSubscriber/TimestampableEventSubscriber.php +++ b/src/EventSubscriber/TimestampableEventSubscriber.php @@ -4,12 +4,13 @@ namespace Knp\DoctrineBehaviors\EventSubscriber; -use Doctrine\Bundle\DoctrineBundle\EventSubscriber\EventSubscriberInterface; +use Doctrine\Bundle\DoctrineBundle\Attribute\AsDoctrineListener; use Doctrine\ORM\Event\LoadClassMetadataEventArgs; use Doctrine\ORM\Events; use Knp\DoctrineBehaviors\Contract\Entity\TimestampableInterface; -final class TimestampableEventSubscriber implements EventSubscriberInterface +#[AsDoctrineListener(event: Events::loadClassMetadata)] +final class TimestampableEventSubscriber { public function __construct( private string $timestampableDateFieldType @@ -46,11 +47,4 @@ public function loadClassMetadata(LoadClassMetadataEventArgs $loadClassMetadataE } } - /** - * @return string[] - */ - public function getSubscribedEvents(): array - { - return [Events::loadClassMetadata]; - } } diff --git a/src/EventSubscriber/TranslatableEventSubscriber.php b/src/EventSubscriber/TranslatableEventSubscriber.php index 2df494de..b7cc3ad5 100644 --- a/src/EventSubscriber/TranslatableEventSubscriber.php +++ b/src/EventSubscriber/TranslatableEventSubscriber.php @@ -4,7 +4,7 @@ namespace Knp\DoctrineBehaviors\EventSubscriber; -use Doctrine\Bundle\DoctrineBundle\EventSubscriber\EventSubscriberInterface; +use Doctrine\Bundle\DoctrineBundle\Attribute\AsDoctrineListener; use Doctrine\ORM\Event\LifecycleEventArgs; use Doctrine\ORM\Event\LoadClassMetadataEventArgs; use Doctrine\ORM\Events; @@ -15,7 +15,10 @@ use Knp\DoctrineBehaviors\Contract\Provider\LocaleProviderInterface; use ReflectionClass; -final class TranslatableEventSubscriber implements EventSubscriberInterface +#[AsDoctrineListener(event: Events::loadClassMetadata)] +#[AsDoctrineListener(event: Events::postLoad)] +#[AsDoctrineListener(event: Events::prePersist)] +final class TranslatableEventSubscriber { /** * @var string @@ -69,13 +72,7 @@ public function prePersist(LifecycleEventArgs $lifecycleEventArgs): void $this->setLocales($lifecycleEventArgs); } - /** - * @return string[] - */ - public function getSubscribedEvents(): array - { - return [Events::loadClassMetadata, Events::postLoad, Events::prePersist]; - } + /** * Convert string FETCH mode to required string diff --git a/src/EventSubscriber/TreeEventSubscriber.php b/src/EventSubscriber/TreeEventSubscriber.php index 15ea5595..8471eaa3 100644 --- a/src/EventSubscriber/TreeEventSubscriber.php +++ b/src/EventSubscriber/TreeEventSubscriber.php @@ -4,12 +4,13 @@ namespace Knp\DoctrineBehaviors\EventSubscriber; -use Doctrine\Bundle\DoctrineBundle\EventSubscriber\EventSubscriberInterface; +use Doctrine\Bundle\DoctrineBundle\Attribute\AsDoctrineListener; use Doctrine\ORM\Event\LoadClassMetadataEventArgs; use Doctrine\ORM\Events; use Knp\DoctrineBehaviors\Contract\Entity\TreeNodeInterface; -final class TreeEventSubscriber implements EventSubscriberInterface +#[AsDoctrineListener(event: Events::loadClassMetadata)] +final class TreeEventSubscriber { public function loadClassMetadata(LoadClassMetadataEventArgs $loadClassMetadataEventArgs): void { @@ -33,12 +34,4 @@ public function loadClassMetadata(LoadClassMetadataEventArgs $loadClassMetadataE 'length' => 255, ]); } - - /** - * @return string[] - */ - public function getSubscribedEvents(): array - { - return [Events::loadClassMetadata]; - } } diff --git a/src/EventSubscriber/UuidableEventSubscriber.php b/src/EventSubscriber/UuidableEventSubscriber.php index 525eb4dc..fe7b08a4 100644 --- a/src/EventSubscriber/UuidableEventSubscriber.php +++ b/src/EventSubscriber/UuidableEventSubscriber.php @@ -4,13 +4,15 @@ namespace Knp\DoctrineBehaviors\EventSubscriber; -use Doctrine\Bundle\DoctrineBundle\EventSubscriber\EventSubscriberInterface; +use Doctrine\Bundle\DoctrineBundle\Attribute\AsDoctrineListener; use Doctrine\ORM\Event\LifecycleEventArgs; use Doctrine\ORM\Event\LoadClassMetadataEventArgs; use Doctrine\ORM\Events; use Knp\DoctrineBehaviors\Contract\Entity\UuidableInterface; -final class UuidableEventSubscriber implements EventSubscriberInterface +#[AsDoctrineListener(event: Events::loadClassMetadata)] +#[AsDoctrineListener(event: Events::prePersist)] +final class UuidableEventSubscriber { public function loadClassMetadata(LoadClassMetadataEventArgs $loadClassMetadataEventArgs): void { @@ -44,12 +46,4 @@ public function prePersist(LifecycleEventArgs $lifecycleEventArgs): void $entity->generateUuid(); } - - /** - * @return string[] - */ - public function getSubscribedEvents(): array - { - return [Events::loadClassMetadata, Events::prePersist]; - } }