AbstractArguments   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
eloc 6
dl 0
loc 30
ccs 0
cts 6
cp 0
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A export() 0 3 1
A create() 0 5 1
1
<?php namespace Comodojo\Daemon\Console;
2
3
use \Comodojo\Foundation\DataAccess\ArrayAccessTrait;
4
use \ArrayAccess;
5
6
/**
7
 * @package     Comodojo Daemon
8
 * @author      Marco Giovinazzi <[email protected]>
9
 * @license     MIT
10
 *
11
 * LICENSE:
12
 *
13
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
 * THE SOFTWARE.
20
 */
21
22
abstract class AbstractArguments implements ArrayAccess {
23
24
    use ArrayAccessTrait;
25
26
    /**
27
     * @var array
28
     */
29
    protected $data = [];
30
31
    /**
32
     * Export data as array
33
     *
34
     * @return array
35
     */
36
    public function export() {
37
38
        return $this->data;
39
40
    }
41
42
    /**
43
     * Static constructor
44
     *
45
     * @return self
46
     */
47
    public static function create() {
48
49
        $class = get_called_class();
50
51
        return new $class();
52
53
    }
54
55
}
56