Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
AccessFactory
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 1
 factory
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3/**
4 * @package 115Mandant
5 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
6 **/
7
8namespace BO\Zmsdldb;
9
10class AccessFactory
11{
12    protected static $avilableAccessors = [
13        'file' => 'File',
14        'elastic' => 'Elastic',
15        'sqlite' => 'SQLite',
16        'mysql' => 'MySQL',
17    ];
18
19    public static function factory(string $type, array $arguments = [])
20    {
21        if (!isset(static::$avilableAccessors[$type])) {
22            throw new \Exception('Invalid accessor');
23        }
24        $accessClass = '\\BO\\Zmsdldb\\' . static::$avilableAccessors[$type] . 'Access';
25
26        return new $accessClass(...$arguments);
27    }
28}