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

EntityManagerFactory::getEntityManager()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 25
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 25
rs 8.8571
c 0
b 0
f 0
cc 1
eloc 16
nc 1
nop 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