From cf4961ff7c235b13bbef70b4b49a40ce55061002 Mon Sep 17 00:00:00 2001 From: Rinsvent Date: Thu, 12 Aug 2021 00:02:15 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=B3=D0=BE=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0=20=D0=BD=D0=BE=D0=B2=D0=BE=D0=B3=D0=BE=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B7=D0=BE=D0=BB=D0=B2=D0=B5=D1=80=D0=B0=20=D1=81?= =?UTF-8?q?=D0=B5=D1=80=D0=B2=D0=B8=D1=81=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Resources/config/services.yaml | 15 ++++++++++- .../Transformer/AbstractTransformer.php | 13 ++++++++++ src/Service/Transformer/Entity.php | 15 +++++++++++ src/Service/Transformer/EntityTransformer.php | 26 +++++++++++++++++++ src/Service/Transformer/ServiceResolver.php | 21 +++++++++++++++ 5 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 src/Service/Transformer/AbstractTransformer.php create mode 100644 src/Service/Transformer/Entity.php create mode 100644 src/Service/Transformer/EntityTransformer.php create mode 100644 src/Service/Transformer/ServiceResolver.php diff --git a/src/Resources/config/services.yaml b/src/Resources/config/services.yaml index 5ca6a64..3253fae 100644 --- a/src/Resources/config/services.yaml +++ b/src/Resources/config/services.yaml @@ -1,5 +1,18 @@ services: + _defaults: + autoconfigure: true + public: false + autowire: true + Rinsvent\RequestBundle\EventListener\RequestListener: autowire: true tags: - - { name: kernel.event_listener, event: kernel.request} + - { name: kernel.event_listener, event: kernel.request } + + Rinsvent\RequestBundle\Service\Transformer\ServiceResolver: + bind: + $transformerLocator: !tagged_locator { tag: 'rinsvent.transformer', index_by: 'key', default_index_method: 'getLocatorKey' } + + _instanceof: + Rinsvent\RequestBundle\Service\Transformer\AbstractTransformer: + tags: [ 'rinsvent.transformer' ] diff --git a/src/Service/Transformer/AbstractTransformer.php b/src/Service/Transformer/AbstractTransformer.php new file mode 100644 index 0000000..f1df86b --- /dev/null +++ b/src/Service/Transformer/AbstractTransformer.php @@ -0,0 +1,13 @@ +em->getRepository($meta->class); + $data = $repository->find((int)$data); + } +} diff --git a/src/Service/Transformer/ServiceResolver.php b/src/Service/Transformer/ServiceResolver.php new file mode 100644 index 0000000..ca906a4 --- /dev/null +++ b/src/Service/Transformer/ServiceResolver.php @@ -0,0 +1,21 @@ +transformerLocator->get($transformerClass); + } +} \ No newline at end of file