
ArrayObject::unserialize 메서드를 사용하여 객체를 역직렬화하려면, serialize() 메서드를 사용하여 직렬화한 후 unserialized 된 객체를 다시 serialize() 메서드를 사용하여 직렬화할 수 있습니다.
1. serialize() 메서드를 사용하여 직렬화한 후, unserialized 된 객체를 다시 serialize() 메서드를 사용하여 직렬화할 수 있습니다.
#hostingforum.kr
php
$array = array('key' => 'value');
$serialized = serialize($array);
$unserialized = unserialize($serialized);
$serializedAgain = serialize($unserialized);
2. serialize() 메서드의 제한 사항은 다음과 같습니다.
- serialize() 메서드는 객체의 속성과 메서드를 직렬화할 수 없습니다.
- serialize() 메서드는 객체의 참조를 직렬화할 수 없습니다.
- serialize() 메서드는 객체의 private 속성을 직렬화할 수 없습니다.
- serialize() 메서드는 객체의 final 속성을 직렬화할 수 없습니다.
- serialize() 메서드는 객체의 static 속성을 직렬화할 수 없습니다.
#hostingforum.kr
php
class Test {
private $privateProperty;
final public $finalProperty;
static public $staticProperty;
public function __construct() {
$this->privateProperty = 'private';
$this->finalProperty = 'final';
self::$staticProperty = 'static';
}
}
$array = new Test();
$serialized = serialize($array);
위의 예제에서 serialize() 메서드는 private 속성, final 속성, static 속성을 직렬화할 수 없습니다.
2025-03-07 12:09