gl-website-deployer/admin/phpMyAdmin/libraries/classes/Export/Template.php
2024-11-23 20:45:29 +01:00

71 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
namespace PhpMyAdmin\Export;
/** @psalm-immutable */
final class Template
{
/** @var int */
private $id;
/** @var string */
private $username;
/** @var string */
private $exportType;
/** @var string */
private $name;
/** @var string JSON */
private $data;
private function __construct(int $id, string $username, string $exportType, string $name, string $data)
{
$this->id = $id;
$this->username = $username;
$this->exportType = $exportType;
$this->name = $name;
$this->data = $data;
}
/** @param array<string, mixed> $state */
public static function fromArray(array $state): self
{
return new self(
$state['id'] ?? 0,
$state['username'],
$state['exportType'] ?? '',
$state['name'] ?? '',
$state['data']
);
}
public function getId(): int
{
return $this->id;
}
public function getUsername(): string
{
return $this->username;
}
public function getExportType(): string
{
return $this->exportType;
}
public function getName(): string
{
return $this->name;
}
public function getData(): string
{
return $this->data;
}
}