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