20250519
* [Dictionary, ObjectArray] Исправлен метод сериализации. Теперь классы нормально восстанавливаются.
This commit is contained in:
parent
f98a277986
commit
2e684cb862
@ -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
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user