Test Failed
Push — master ( 1352e7...0da4e2 )
by Esteban De La Fuente
03:30
created

Caller   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 75
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
eloc 18
c 0
b 0
f 0
dl 0
loc 75
ccs 0
cts 14
cp 0
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 12 1
A __toString() 0 9 1
1
<?php
2
3
declare(strict_types=1);
4
5
/**
6
 * Derafu: Biblioteca PHP (Núcleo).
7
 * Copyright (C) Derafu <https://www.derafu.org>
8
 *
9
 * Este programa es software libre: usted puede redistribuirlo y/o modificarlo
10
 * bajo los términos de la Licencia Pública General Affero de GNU publicada por
11
 * la Fundación para el Software Libre, ya sea la versión 3 de la Licencia, o
12
 * (a su elección) cualquier versión posterior de la misma.
13
 *
14
 * Este programa se distribuye con la esperanza de que sea útil, pero SIN
15
 * GARANTÍA ALGUNA; ni siquiera la garantía implícita MERCANTIL o de APTITUD
16
 * PARA UN PROPÓSITO DETERMINADO. Consulte los detalles de la Licencia Pública
17
 * General Affero de GNU para obtener una información más detallada.
18
 *
19
 * Debería haber recibido una copia de la Licencia Pública General Affero de GNU
20
 * junto a este programa.
21
 *
22
 * En caso contrario, consulte <http://www.gnu.org/licenses/agpl.html>.
23
 */
24
25
namespace Derafu\Lib\Core\Package\Prime\Component\Log\Entity;
26
27
/**
28
 * Clase que representa quién llamó al log.
29
 */
30
class Caller
31
{
32
    /**
33
     * Archivo donde se llamó al log.
34
     *
35
     * @var string
36
     */
37
    public string $file;
38
39
    /**
40
     * Línea del archivo donde se llamó al log.
41
     *
42
     * @var int
43
     */
44
    public int $line;
45
46
    /**
47
     * Método que llamó al log.
48
     *
49
     * @var string
50
     */
51
    public string $function;
52
53
    /**
54
     * Clase del método que llamó al log.
55
     *
56
     * @var string
57
     */
58
    public string $class;
59
60
    /**
61
     * Tipo de llamada (estática o de objeto instanciado).
62
     *
63
     * @var string
64
     */
65
    public string $type;
66
67
    /**
68
     * Constructor de la clase.
69
     *
70
     * @param string $file
71
     * @param integer $line
72
     * @param string $function
73
     * @param string $class
74
     * @param string $type
75
     */
76
    public function __construct(
77
        string $file,
78
        int $line,
79
        string $function,
80
        string $class,
81
        string $type
82
    ) {
83
        $this->file = $file;
84
        $this->line = $line;
85
        $this->function = $function;
86
        $this->class = $class;
87
        $this->type = $type;
88
    }
89
90
    /**
91
     * Método mágico para obtener quién llamó al log como string a partir de los
92
     * atributos de la instancia de esta clase.
93
     *
94
     * @return string Quién llamó al log formateado como string.
95
     */
96
    public function __toString(): string
97
    {
98
        return sprintf(
99
            'in %s on line %d, called by %s%s%s()',
100
            $this->file,
101
            $this->line,
102
            $this->class,
103
            $this->type,
104
            $this->function
105
        );
106
    }
107
}
108