gl-website-deployer/admin/phpMyAdmin/libraries/classes/Table/Maintenance/Message.php
2024-11-19 08:02:04 +01:00

47 lines
1.1 KiB
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);
}
}