Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Spatie\FlareClient\Glows;
4
 
5
use Spatie\FlareClient\Concerns\UsesTime;
6
use Spatie\FlareClient\Enums\MessageLevels;
7
 
8
class Glow
9
{
10
    use UsesTime;
11
 
12
    protected string $name;
13
 
14
    /** @var array<int, mixed> */
15
    protected array $metaData = [];
16
 
17
    protected string $messageLevel;
18
 
19
    protected float $microtime;
20
 
21
    /**
22
     * @param string $name
23
     * @param string $messageLevel
24
     * @param array<int, mixed>  $metaData
25
     * @param float|null $microtime
26
     */
27
    public function __construct(
28
        string $name,
29
        string $messageLevel = MessageLevels::INFO,
30
        array $metaData = [],
31
        ?float $microtime = null
32
    ) {
33
        $this->name = $name;
34
        $this->messageLevel = $messageLevel;
35
        $this->metaData = $metaData;
36
        $this->microtime = $microtime ?? microtime(true);
37
    }
38
 
39
    /**
40
     * @return array{time: int, name: string, message_level: string, meta_data: array, microtime: float}
41
     */
42
    public function toArray(): array
43
    {
44
        return [
45
            'time' => $this->getCurrentTime(),
46
            'name' => $this->name,
47
            'message_level' => $this->messageLevel,
48
            'meta_data' => $this->metaData,
49
            'microtime' => $this->microtime,
50
        ];
51
    }
52
}