From 2e684cb862f6ab6262b03fd41cbef620af692129 Mon Sep 17 00:00:00 2001 From: babaev-an Date: Mon, 19 May 2025 07:04:25 +0300 Subject: [PATCH] =?UTF-8?q?20250519=20*=20[Dictionary,=20ObjectArray]=20?= =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D0=BE=D0=B4=20=D1=81=D0=B5=D1=80=D0=B8=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8.=20=D0=A2=D0=B5=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D1=8C=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D1=8B=20?= =?UTF-8?q?=D0=BD=D0=BE=D1=80=D0=BC=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=20=D0=B2?= =?UTF-8?q?=D0=BE=D1=81=D1=81=D1=82=D0=B0=D0=BD=D0=B0=D0=B2=D0=BB=D0=B8?= =?UTF-8?q?=D0=B2=D0=B0=D1=8E=D1=82=D1=81=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/classes/Dictionary.php | 2 +- sources/classes/ObjectArray.php | 2 +- sources/traits/ArrayBasicTrait.php | 12 ++++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/sources/classes/Dictionary.php b/sources/classes/Dictionary.php index 038f8f1..43612db 100644 --- a/sources/classes/Dictionary.php +++ b/sources/classes/Dictionary.php @@ -13,7 +13,7 @@ use IteratorAggregate; * * @author Александр Бабаев * @package php_components_pack - * @version 1.0.1 + * @version 1.0.2 * @since 1.0.14 */ final class Dictionary implements ArrayAccess, IteratorAggregate, Countable, ISerializable diff --git a/sources/classes/ObjectArray.php b/sources/classes/ObjectArray.php index 0476e0b..38a4545 100644 --- a/sources/classes/ObjectArray.php +++ b/sources/classes/ObjectArray.php @@ -17,7 +17,7 @@ use IteratorAggregate; * * @author Александр Бабаев * @package php_components_pack - * @version 1.0 + * @version 1.0.5 * @since 1.0 */ final class ObjectArray implements ArrayAccess, IteratorAggregate, Countable, ISerializable diff --git a/sources/traits/ArrayBasicTrait.php b/sources/traits/ArrayBasicTrait.php index f97e26b..0d017ff 100644 --- a/sources/traits/ArrayBasicTrait.php +++ b/sources/traits/ArrayBasicTrait.php @@ -77,7 +77,11 @@ trait ArrayBasicTrait */ public function Serialize (): string { - return json_encode($this->Container); + /** + * ВНИМАНИЕ! Не используйте json_encode для сериализации объектов данного класса, так как он НЕ СОХРАНЯЕТ классы объектов! + * Корректное восстановление объектов невозможно (восстанавливает только как ассоциативный массив). + */ + return serialize($this->Container); } /** @@ -85,6 +89,10 @@ trait ArrayBasicTrait */ public function UnSerialize (string $serialized): void { - $this->Container = json_decode($serialized, true); + /** + * ВНИМАНИЕ! Не используйте json_decode для десериализации объектов данного класса, так как он НЕ ВОССТАНОВЛЯЕТ + * классы объектов! Корректное восстановление объектов невозможно (восстанавливается только как ассоциативный массив). + */ + $this->Container = unserialize($serialized, true); } } \ No newline at end of file