Completed
Push — master ( 379248...c97627 )
by ARCANEDEV
04:05
created

ServerRequirementsComposer::compose()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 7
nc 1
nop 1
dl 0
loc 11
ccs 0
cts 8
cp 0
crap 2
rs 9.4285
c 0
b 0
f 0
1
<?php namespace Arcanesoft\Foundation\ViewComposers\System;
2
3
use Illuminate\View\View;
4
5
/**
6
 * Class     ServerRequirementsComposer
7
 *
8
 * @package  Arcanesoft\Foundation\ViewComposers\System
9
 * @author   ARCANEDEV <[email protected]>
10
 */
11
class ServerRequirementsComposer
12
{
13
    /* ------------------------------------------------------------------------------------------------
14
     |  Constants
15
     | ------------------------------------------------------------------------------------------------
16
     */
17
    const VIEW_NAME = 'foundation::system.information._includes.server-requirements';
18
19
    /* ------------------------------------------------------------------------------------------------
20
     |  Main Functions
21
     | ------------------------------------------------------------------------------------------------
22
     */
23
    /**
24
     * Compose the view.
25
     *
26
     * @param  \Illuminate\View\View  $view
27
     */
28
    public function compose(View $view)
29
    {
30
        $requirements = $this->checkRequirements([
31
            'openssl',
32
            'pdo',
33
            'mbstring',
34
            'tokenizer'
35
        ]);
36
37
        $view->with('requirements', $requirements);
38
    }
39
40
    /* ------------------------------------------------------------------------------------------------
41
     |  Other Functions
42
     | ------------------------------------------------------------------------------------------------
43
     */
44
    /**
45
     * Check the server requirements.
46
     *
47
     * @param  array  $requirements
48
     *
49
     * @return \Illuminate\Support\Collection
50
     */
51
    private function checkRequirements(array $requirements)
52
    {
53
        $requirements = array_combine($requirements, $requirements);
54
55
        return collect($requirements)->transform(function ($requirement) {
56
            return extension_loaded($requirement);
57
        });
58
    }
59
}
60