Completed
Push — master ( fab3ca...481caa )
by ARCANEDEV
8s
created

Controller::setData()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 11
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 3.1406

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
eloc 6
c 1
b 0
f 0
nc 3
nop 2
dl 0
loc 11
ccs 6
cts 8
cp 0.75
crap 3.1406
rs 9.4285
1
<?php namespace Arcanedev\Support\Http;
2
3
use Arcanedev\Support\Traits\Abortable;
4
use Illuminate\Routing\Controller as IlluminateController;
5
6
/**
7
 * Class     Controller
8
 *
9
 * @package  Arcanedev\Support\Http
10
 * @author   ARCANEDEV <[email protected]>
11
 */
12
abstract class Controller extends IlluminateController
13
{
14
    /* -----------------------------------------------------------------
15
     |  Traits
16
     | -----------------------------------------------------------------
17
     */
18
19
    use Abortable;
20
21
    /* -----------------------------------------------------------------
22
     |  Properties
23
     | -----------------------------------------------------------------
24
     */
25
26
    /**
27
     * The view data.
28
     *
29
     * @var array
30
     */
31
    protected $data = [];
32
33
    /* -----------------------------------------------------------------
34
     |  Constructor
35
     | -----------------------------------------------------------------
36
     */
37
38
    /**
39
     * Controller constructor.
40
     */
41 12
    public function __construct()
42
    {
43 12
        $this->setCurrentPage();
44 12
    }
45
46
    /* -----------------------------------------------------------------
47
     |  Getters & Setters
48
     | -----------------------------------------------------------------
49
     */
50
51
    /**
52
     * Get data.
53
     *
54
     * @return array
55
     */
56
    protected function getData()
57
    {
58
        return $this->data;
59
    }
60
61
    /**
62
     * Set view data.
63
     *
64
     * @param  string|array  $name
65
     * @param  mixed         $value
66
     *
67
     * @return self
68
     */
69 12
    protected function setData($name, $value = null)
70
    {
71 12
        if (is_array($name)) {
72
            $this->data = array_merge($this->data, $name);
73
        }
74 12
        elseif (is_string($name)) {
75 12
            $this->data[$name] = $value;
76 4
        }
77
78 12
        return $this;
79
    }
80
81
    /**
82
     * Set the current page.
83
     *
84
     * @param  string  $page
85
     *
86
     * @return self
87
     */
88 12
    protected function setCurrentPage($page = '')
89
    {
90 12
        return $this->setData('current_page', $page);
91
    }
92
}
93