Server   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 67
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 5
lcom 0
cbo 2
dl 0
loc 67
rs 10
c 0
b 0
f 0
ccs 0
cts 44
cp 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A run() 0 20 2
B status() 0 31 3
1
<?php
2
3
namespace Venus\src\Batch\Controller;
4
5
use \Venus\lib\Bash as Bash;
6
use \Venus\src\Batch\common\Controller as Controller;
7
8
class Server extends Controller
9
{
10
    /**
11
     * new method to launch a web server
12
     * @param array $options
13
     * @tutorial php bin/console server:run
14
     *           php bin/console server:run -a 192.168.0.1:8000
15
     */
16
    public function run(array $options = array())
17
    {
18
        ob_get_clean();
19
20
        if (!isset($options['a'])) {
21
            $options['a'] = 'localhost:8000';
22
        }
23
24
        echo "\n\n";
25
        echo Bash::setBackground("                                                                            ", 'green');
26
        echo Bash::setBackground("          [OK] Start web server                                             ", 'green');
27
        echo Bash::setBackground("                                                                            ", 'green');
28
        echo "\n\n";
29
        echo "        > Use ".$options['a']." in browser";
30
        echo "\n\n";
31
        echo "        > Clic Ctrl+C to stop the web server";
32
        echo "\n\n";
33
34
        exec('php -S '.$options['a'].' /public/index.php');
35
    }
36
37
    /**
38
     * check if a server web is launched
39
     * @param array $options
40
     * @tutorial php bin/console server:status
41
     *           php bin/console server:status -a 192.168.0.1:8000
42
     */
43
    public function status(array $options = array())
44
    {
45
        ob_get_clean();
46
47
        if (!isset($options['a'])) {
48
            $options['a'] = 'localhost:8000';
49
        }
50
51
        list($hostname, $port) = explode(':', $options['a']);
52
53
        if (false !== $fp = @fsockopen($hostname, $port, $errno, $errstr, 1)) {
54
            fclose($fp);
55
56
            echo "\n\n";
57
            echo Bash::setBackground("                                                                            ", 'green');
58
            echo Bash::setBackground("          [OK] A web server is launched                                     ", 'green');
59
            echo Bash::setBackground("                                                                            ", 'green');
60
            echo "\n\n";
61
            echo "        > Check realized on ".$options['a'];
62
            echo "\n\n";
63
        }
64
        else {
65
            echo "\n\n";
66
            echo Bash::setBackground("                                                                            ", 'red');
67
            echo Bash::setBackground("          [WARNING] A web server is not used                                ", 'red');
68
            echo Bash::setBackground("                                                                            ", 'red');
69
            echo "\n\n";
70
            echo "        > Check realized on ".$options['a'];
71
            echo "\n\n";
72
        }
73
    }
74
}
75