From 4273576fa5ef100c92b289f8ab9c149857df5dc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Frantis=CC=8Cek=20Ha=CC=81na?= Date: Sun, 2 Apr 2023 21:19:02 +0200 Subject: [PATCH] implmenet __serialize and __unserialize --- src/SkautisQuery.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/SkautisQuery.php b/src/SkautisQuery.php index 06d6082..8ea0c57 100644 --- a/src/SkautisQuery.php +++ b/src/SkautisQuery.php @@ -70,7 +70,15 @@ public function __construct($fname, array $args = [], array $trace = []) $this->time = -microtime(true); } + /** + * @deprecated use __serialize + */ public function serialize() + { + return serialize($this->__serialize()); + } + + public function __serialize(): array { $data = [ 'fname' => $this->fname, @@ -81,12 +89,19 @@ public function serialize() 'exception_class' => is_null($this->exception) ? "" : get_class($this->exception), 'exception_string' => is_null($this->exception) ? "" : (string)$this->exception, ]; - return serialize($data); + return $data; } + /** + * @deprecated use __unserialize + */ public function unserialize($data) { - $data = unserialize($data); + $this->__unserialize(unserialize($data)); + } + + public function __unserialize(array $data): void + { $this->fname = $data['fname']; $this->args = $data['args']; $this->trace = $data['trace'];