ClassUtils::shortName()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 17
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 17
rs 9.4285
cc 3
eloc 10
nc 3
nop 1
1
<?php
2
namespace PhpDDD\Command\Utils;
3
4
use PhpDDD\Command\Exception\InvalidArgumentException;
5
6
/**
7
 * Tools to transform class to name
8
 */
9
final class ClassUtils
10
{
11
    /**
12
     * @param object|string $objectOrNamespace
13
     *
14
     * @return string
15
     */
16
    public static function shortName($objectOrNamespace)
17
    {
18
        if (is_object($objectOrNamespace)) {
19
            $objectOrNamespace = get_class($objectOrNamespace);
20
        } elseif (!class_exists($objectOrNamespace)) {
21
            throw new InvalidArgumentException(
22
                sprintf(
23
                    'There is no class named %s',
24
                    $objectOrNamespace
25
                )
26
            );
27
        }
28
29
        $classNameWithNamespace = explode('\\', $objectOrNamespace);
30
31
        return end($classNameWithNamespace);
32
    }
33
}
34