Failed Conditions
Pull Request — master (#6575)
by Luís
11:31
created

EntityManagerFactory   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 3
dl 0
loc 28
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B getEntityManager() 0 25 1
1
<?php
2
3
namespace Doctrine\Performance;
4
5
use Doctrine\DBAL\Driver\PDOSqlite\Driver;
6
use Doctrine\ORM\Configuration;
7
use Doctrine\ORM\EntityManager;
8
use Doctrine\ORM\EntityManagerInterface;
9
use Doctrine\ORM\Proxy\ProxyFactory;
10
use Doctrine\ORM\Tools\SchemaTool;
11
12
final class EntityManagerFactory
13
{
14
    public static function getEntityManager(array $schemaClassNames) : EntityManagerInterface
15
    {
16
        $config = new Configuration();
17
18
        $config->setProxyDir(__DIR__ . '/../Tests/Proxies');
19
        $config->setProxyNamespace('Doctrine\Tests\Proxies');
20
        $config->setAutoGenerateProxyClasses(ProxyFactory::AUTOGENERATE_EVAL);
21
        $config->setMetadataDriverImpl($config->newDefaultAnnotationDriver([
22
            realpath(__DIR__ . '/Models/Cache'),
23
            realpath(__DIR__ . '/Models/GeoNames')
24
        ], true));
25
26
        $entityManager = EntityManager::create(
27
            [
28
                'driverClass' => Driver::class,
29
                'memory'      => true,
30
            ],
31
            $config
32
        );
33
34
        (new SchemaTool($entityManager))
35
            ->createSchema(array_map([$entityManager, 'getClassMetadata'], $schemaClassNames));
36
37
        return $entityManager;
38
    }
39
}
40