diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-09 10:55:03 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-09 13:09:38 +0100 |
| commit | 04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch) | |
| tree | 5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/libraries/classes/Charsets/Charset.php | |
| parent | 7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff) | |
| download | ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.gz ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.bz2 ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.zip | |
phpmyadmin working
Diffstat (limited to 'srcs/phpmyadmin/libraries/classes/Charsets/Charset.php')
| -rw-r--r-- | srcs/phpmyadmin/libraries/classes/Charsets/Charset.php | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/Charsets/Charset.php b/srcs/phpmyadmin/libraries/classes/Charsets/Charset.php new file mode 100644 index 0000000..0b25790 --- /dev/null +++ b/srcs/phpmyadmin/libraries/classes/Charsets/Charset.php @@ -0,0 +1,103 @@ +<?php +/** + * Value object class for a character set + * @package PhpMyAdmin\Charsets + */ +declare(strict_types=1); + +namespace PhpMyAdmin\Charsets; + +/** + * Value object class for a character set + * @package PhpMyAdmin\Charsets + */ +final class Charset +{ + /** + * The character set name + * @var string + */ + private $name; + + /** + * A description of the character set + * @var string + */ + private $description; + + /** + * The default collation for the character set + * @var string + */ + private $defaultCollation; + + /** + * The maximum number of bytes required to store one character + * @var int + */ + private $maxLength; + + /** + * @param string $name Charset name + * @param string $description Description + * @param string $defaultCollation Default collation + * @param int $maxLength Maximum length + */ + private function __construct( + string $name, + string $description, + string $defaultCollation, + int $maxLength + ) { + $this->name = $name; + $this->description = $description; + $this->defaultCollation = $defaultCollation; + $this->maxLength = $maxLength; + } + + /** + * @param array $state State obtained from the database server + * @return Charset + */ + public static function fromServer(array $state): self + { + return new self( + $state['Charset'] ?? '', + $state['Description'] ?? '', + $state['Default collation'] ?? '', + (int) ($state['Maxlen'] ?? 0) + ); + } + + /** + * @return string + */ + public function getName(): string + { + return $this->name; + } + + /** + * @return string + */ + public function getDescription(): string + { + return $this->description; + } + + /** + * @return string + */ + public function getDefaultCollation(): string + { + return $this->defaultCollation; + } + + /** + * @return int + */ + public function getMaxLength(): int + { + return $this->maxLength; + } +} |
