HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //usr/share/phpmyadmin/libraries/classes/Table/Maintenance/Message.php
<?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);
    }
}