aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/vendor/dasprid/enum/src/NullValue.php
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/phpmyadmin/vendor/dasprid/enum/src/NullValue.php')
-rw-r--r--srcs/phpmyadmin/vendor/dasprid/enum/src/NullValue.php55
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();
+ }
+}