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);
}
}
|