Reflector   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
c 1
b 0
f 0
lcom 0
cbo 0
dl 0
loc 39
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getDoc() 0 7 2
A getClassDoc() 0 5 1
A getPropertyDoc() 0 5 1
1
<?php
2
3
namespace PhpDocReader;
4
5
/**
6
 * Class Reflector
7
 * @author  Lucas A. de Araújo <[email protected]>
8
 * @package PhpDocReader
9
 */
10
class Reflector
11
{
12
    /**
13
     * Retorna a documentação de uma classe ou propriedade.
14
     * @param string $class
15
     * @param null $property
16
     * @return string
17
     */
18
    public static function getDoc($class, $property = null)
19
    {
20
        if(!is_null($property))
21
            return self::getPropertyDoc($class, $property);
22
23
        return self::getClassDoc($class);
24
    }
25
26
    /**
27
     * Retorna a documentação de classe
28
     * @param $class
29
     * @return string
30
     */
31
    private static function getClassDoc($class)
32
    {
33
        $reflection = new \ReflectionClass($class);
34
        return $reflection->getDocComment();
35
    }
36
37
    /**
38
     * Retorna a documentação da propriedade.
39
     * @param $class
40
     * @param $property
41
     * @return string
42
     */
43
    private static function getPropertyDoc($class, $property)
44
    {
45
        $reflection = new \ReflectionProperty($class, $property);
46
        return $reflection->getDocComment();
47
    }
48
}