AuraSqlBaseModule::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
c 1
b 0
f 0
nc 1
nop 2
dl 0
loc 5
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Ray\AuraSqlModule;
6
7
use Ray\AuraSqlModule\Pagerfanta\AuraSqlPagerModule;
8
use Ray\Di\AbstractModule;
9
10
use function preg_match;
11
12
class AuraSqlBaseModule extends AbstractModule
13
{
14
    private string $dsn;
15
16
    public function __construct(string $dsnKey, ?AbstractModule $module = null)
17
    {
18
        $this->dsn = $dsnKey;
19
20
        parent::__construct($module);
21
    }
22
23
    /**
24
     * {@inheritDoc}
25
     */
26
    protected function configure(): void
27
    {
28
        // @Transactional
29
        $this->install(new TransactionalModule());
30
        $this->install(new AuraSqlPagerModule());
31
        preg_match(AuraSqlModule::PARSE_PDO_DSN_REGEX, $this->dsn, $parts);
32
        $dbType = $parts[1] ?? '';
33
        $this->install(new AuraSqlQueryModule($dbType));
34
    }
35
}
36