FixedLengthRandomStringValue::getRequiredLength()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
/*
4
 * This file is part of the tmilos/value package.
5
 *
6
 * (c) Milos Tomic <[email protected]>
7
 *
8
 * This source file is subject to the MIT license that is bundled
9
 * with this source code in the file LICENSE.
10
 */
11
12
namespace Tmilos\Value\Spec;
13
14
use Tmilos\Value\AbstractValue;
15
16
class FixedLengthRandomStringValue extends AbstractValue
17
{
18
    /**
19
     * @return int
20
     */
21
    protected static function getRequiredLength()
22
    {
23
        return 36;
24
    }
25
26
    /**
27
     * @return static
28
     */
29
    public static function generate()
30
    {
31
        return new static(bin2hex(random_bytes(static::getRequiredLength() / 2)));
32
    }
33
34
    public static function isValid($value)
35
    {
36
        return is_string($value) && strlen($value) == static::getRequiredLength() && trim($value) === $value;
37
    }
38
}
39