Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
Enum
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
3
100.00% covered (success)
100.00%
1 / 1
 validate
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
3
1<?php
2
3/**
4 * @license MIT
5 * @author hazuki3417<hazuki3417@gmail.com>
6 * @copyright 2023 hazuki3417 all rights reserved.
7 */
8
9namespace Selen\Data;
10
11class Enum
12{
13    /**
14     * 値が指定された型かどうかを検証します
15     *
16     * @param mixed                      $value 検証する値を指定します
17     * @param string|int|float|bool|null $types Enumで管理する値を定義します
18     */
19    public static function validate($value, string|int|float|bool|null ...$types): bool
20    {
21        if (\is_array($value)) {
22            return false;
23        }
24
25        if (\is_object($value)) {
26            return false;
27        }
28
29        return \in_array($value, $types, true);
30    }
31}