EnvValidatorFactory::buildFromLaravelConfig()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 15
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 8
nc 2
nop 0
dl 0
loc 15
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Melihovv\LaravelEnvValidator;
4
5
use Illuminate\Support\Facades\Validator;
6
7
class EnvValidatorFactory
8
{
9
    public static function buildFromLaravelConfig()
10
    {
11
        $config = config('env-validator.rules', []);
12
13
        $env = [];
14
        foreach (array_keys($config) as $variable) {
15
            $env[$variable] = env($variable);
16
        }
17
18
        $validator = Validator::make($env, $config);
19
20
        $varsNames = array_keys($env);
21
        $validator->setAttributeNames(array_combine($varsNames, $varsNames));
0 ignored issues
show
Bug introduced by
It seems like array_combine($varsNames, $varsNames) can also be of type false; however, parameter $attributes of Illuminate\Validation\Va...or::setAttributeNames() does only seem to accept array, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

21
        $validator->setAttributeNames(/** @scrutinizer ignore-type */ array_combine($varsNames, $varsNames));
Loading history...
22
23
        return new EnvValidator($validator);
24
    }
25
}
26