InterfaceHelper   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 1
Metric Value
wmc 2
eloc 4
c 2
b 0
f 1
dl 0
loc 18
ccs 6
cts 6
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getImplementations() 0 4 1
A implementsInterface() 0 3 1
1
<?php
2
3
namespace hamburgscleanest\GuzzleAdvancedThrottle\Helpers;
4
5
class InterfaceHelper
6
{
7
    /**
8
     * Get every class that implements $interfaceName
9
     */
10 5
    public static function getImplementations(string $interfaceName): array
11
    {
12 5
        return \array_filter(\get_declared_classes(), function($className) use ($interfaceName) {
13 5
            return self::implementsInterface($className, $interfaceName);
14 5
        });
15
    }
16
17
    /**
18
     * Returns true|false if the $implementerClassName implements interface $interfaceName
19
     */
20 35
    public static function implementsInterface(string $implementerClassName, string $interfaceName): bool
21
    {
22 35
        return \in_array($interfaceName, \class_implements($implementerClassName), true);
23
    }
24
}
25