StringUtil::getLabelFromClass()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 3
rs 10
1
<?php
2
3
namespace Xiidea\EasyConfigBundle\Utility;
4
5
abstract class StringUtil
6
{
7
    public static function getLabelFromClass($class)
8
    {
9
        return ucfirst(static::humanize(static::getClassBaseName($class)));
10
    }
11
12
    public static function humanize($text)
13
    {
14
        $text = preg_replace('/([A-Z]+)([A-Z][a-z])/', '\\1 \\2', $text);
15
        $text = preg_replace('/([a-z\d])([A-Z])/', '\\1 \\2', $text);
16
        $text = preg_replace('~\bdont\b~', 'don\'t', $text);
17
        $text = preg_replace('/_/', ' ', $text);;
18
19
        return mb_strtolower($text, 'UTF-8');
20
    }
21
22
    public static function getClassBaseName($class)
23
    {
24
        $class = is_object($class) ? get_class($class) : $class;
25
26
        return basename(str_replace('\\', '/', $class));
27
    }
28
}
29