Text   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 1
dl 0
loc 29
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A validate() 0 7 2
A className() 0 4 1
1
<?php
2
/**
3
 * @author AIZAWA Hina <[email protected]>
4
 * @copyright 2015 by AIZAWA Hina <[email protected]>
5
 * @license https://github.com/fetus-hina/docomo-dialogue/blob/master/LICENSE MIT
6
 * @since 1.0.1
7
 */
8
9
namespace jp3cki\docomoDialogue\validators;
10
11
use jp3cki\docomoDialogue\DomainError;
12
13
/**
14
 * 文字列のバリデータ
15
 */
16
class Text
17
{
18
    /**
19
     * 文字列を検査する
20
     *
21
     * @param   string  $value              対象にする文字列
22
     * @param   int     $maxLen             許容される文字列の最大長
23
     * @param   string  $errorMessage       異常時に発生する例外のメッセージ
24
     *
25
     * @throws  \jp3cki\docomoDialogue\DomainError
26
     */
27
    public static function validate($value, $maxLen, $errorMessage)
28
    {
29
        if (mb_strlen($value, 'UTF-8') <= $maxLen) {
30
            return true;
31
        }
32
        throw new DomainError($errorMessage);
33
    }
34
35
    /**
36
     * クラス名(FQCN)を取得
37
     *
38
     * return string
39
     */
40
    public static function className()
41
    {
42
        return get_called_class();
43
    }
44
}
45