diff options
Diffstat (limited to 'srcs/phpmyadmin/vendor/dasprid/enum/src/NullValue.php')
| -rw-r--r-- | srcs/phpmyadmin/vendor/dasprid/enum/src/NullValue.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/vendor/dasprid/enum/src/NullValue.php b/srcs/phpmyadmin/vendor/dasprid/enum/src/NullValue.php new file mode 100644 index 0000000..ab757ab --- /dev/null +++ b/srcs/phpmyadmin/vendor/dasprid/enum/src/NullValue.php @@ -0,0 +1,55 @@ +<?php +declare(strict_types = 1); + +namespace DASPRiD\Enum; + +use DASPRiD\Enum\Exception\CloneNotSupportedException; +use DASPRiD\Enum\Exception\SerializeNotSupportedException; +use DASPRiD\Enum\Exception\UnserializeNotSupportedException; + +final class NullValue +{ + /** + * @var self + */ + private static $instance; + + private function __construct() + { + } + + public static function instance() : self + { + return self::$instance ?: self::$instance = new self(); + } + + /** + * Forbid cloning enums. + * + * @throws CloneNotSupportedException + */ + final public function __clone() + { + throw new CloneNotSupportedException(); + } + + /** + * Forbid serializing enums. + * + * @throws SerializeNotSupportedException + */ + final public function __sleep() : void + { + throw new SerializeNotSupportedException(); + } + + /** + * Forbid unserializing enums. + * + * @throws UnserializeNotSupportedException + */ + final public function __wakeup() : void + { + throw new UnserializeNotSupportedException(); + } +} |
