File: Message.php

package info (click to toggle)
phpmyadmin 4%3A5.2.1%2Bdfsg-1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 131,332 kB
  • sloc: javascript: 212,681; php: 168,094; xml: 18,098; sql: 504; sh: 274; makefile: 205; python: 199
file content (46 lines) | stat: -rw-r--r-- 1,094 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php

declare(strict_types=1);

namespace PhpMyAdmin\Table\Maintenance;

use function is_string;

/**
 * @psalm-immutable
 */
final class Message
{
    /** @var string */
    public $table;

    /** @var string */
    public $operation;

    /** @var string */
    public $type;

    /** @var string */
    public $text;

    private function __construct(string $table, string $operation, string $type, string $text)
    {
        $this->table = $table;
        $this->operation = $operation;
        $this->type = $type;
        $this->text = $text;
    }

    /**
     * @param mixed[] $row
     */
    public static function fromArray(array $row): self
    {
        $table = isset($row['Table']) && is_string($row['Table']) ? $row['Table'] : '';
        $operation = isset($row['Op']) && is_string($row['Op']) ? $row['Op'] : '';
        $type = isset($row['Msg_type']) && is_string($row['Msg_type']) ? $row['Msg_type'] : '';
        $text = isset($row['Msg_text']) && is_string($row['Msg_text']) ? $row['Msg_text'] : '';

        return new self($table, $operation, $type, $text);
    }
}