Completed
Push — master ( 505288...74a19a )
by Park Jong-Hun
03:06
created

HashManager   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
dl 0
loc 22
rs 10
c 0
b 0
f 0
wmc 4
lcom 1
cbo 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getProvider() 0 8 2
A setProvider() 0 3 1
A setDefaultProviderName() 0 3 1
1
<?php
2
3
namespace App\Auth;
4
5
class HashManager
6
{
7
    private static $providers = [];
8
    private static $defaultProviderName;
9
10
    public static function getProvider($providerName = '') {
11
        $providerName = $providerName ?: self::$defaultProviderName;
12
13
        $provider = self::$providers[$providerName];
14
        $settings = $provider['settings'];
15
16
        return new $provider['class']($settings);
17
    }
18
19
    public static function setProvider(array $providers) {
20
        self::$providers = $providers;
21
    }
22
23
    public static function setDefaultProviderName($providerName) {
24
        self::$defaultProviderName = $providerName;
25
    }
26
}