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