Passed
Push — master ( b262da...c4f2e2 )
by 世昌
02:19
created

Parameter::getCommonDefault()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
<?php
2
namespace nebula\route\uri\parameter;
3
4
/**
5
 * 匹配参数
6
 */
7
abstract class Parameter   {
8
9
    protected static $name;
10
    /**
11
     * 索引名
12
     *
13
     * @var string
14
     */
15
    protected $indexName;
16
    /**
17
     * 默认值
18
     *
19
     * @var mixed
20
     */
21
    protected $default;
22
    
23
    public function __construct(string $extra) {
24
    }
25
26
    public static function name():string {
27
        return static::$name;
28
    }
29
30
    public static function build(string $indexName, string $extra):Parameter {
31
        $parameter =  new static($extra);
32
        $parameter->setIndexName($indexName);
33
        return $parameter;
34
    }
35
    
36
    public function getValue(string $matched) {
37
        return $matched;
38
    }
39
40
    public function getDefaultValue() {
41
        return isset($this->default) ? $this->default : null;
42
    }
43
44
    /**
45
     * 获取匹配字符串
46
     *
47
     * @return string
48
     */
49
    public abstract function getMatch():string;
50
51
    public function getCommonDefault(string $extra):string {
52
        return $extra;
53
    }
54
55
    /**
56
     * Get 索引名
57
     *
58
     * @return  string
59
     */ 
60
    public function getIndexName()
61
    {
62
        return $this->indexName;
63
    }
64
65
    /**
66
     * Set 索引名
67
     *
68
     * @param  string  $indexName  索引名
69
     *
70
     * @return  self
71
     */ 
72
    public function setIndexName(string $indexName)
73
    {
74
        $this->indexName = $indexName;
75
76
        return $this;
77
    }
78
}