ResolveTargetEntityExtension   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
dl 0
loc 30
c 0
b 0
f 0
rs 10
wmc 3
lcom 0
cbo 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A addSubscribers() 0 12 2
A getFilters() 0 4 1
1
<?php
2
declare(strict_types=1);
3
4
namespace Tfboe\FmLib\Listeners;
5
6
use Doctrine\Common\Annotations\Reader;
7
use Doctrine\Common\EventManager;
8
use Doctrine\ORM\EntityManagerInterface;
9
use Doctrine\ORM\Tools\ResolveTargetEntityListener;
10
use LaravelDoctrine\ORM\Extensions\Extension;
11
12
/**
13
 * Class ResolveTargetEntityExtension
14
 * @package Tfboe\FmLib\Listeners
15
 */
16
class ResolveTargetEntityExtension implements Extension
17
{
18
//<editor-fold desc="Public Methods">
19
  /**
20
   * @param EventManager $manager
21
   * @param EntityManagerInterface $em
22
   * @param Reader|null $reader
23
   */
24
  public function addSubscribers(EventManager $manager, EntityManagerInterface $em, Reader $reader = null)
25
  {
26
    $resolveTargetEntityListener = new ResolveTargetEntityListener();
27
28
    foreach (config('fm-lib.entityMaps', []) as $interface => $concrete) {
29
      $resolveTargetEntityListener->addResolveTargetEntity($interface, $concrete, []);
30
    }
31
32
    $manager->addEventSubscriber(
33
      $resolveTargetEntityListener
34
    );
35
  }
36
37
  /**
38
   * @return array
39
   */
40
  public function getFilters()
41
  {
42
    return [];
43
  }
44
//</editor-fold desc="Public Methods">
45
}