라이브러리
[PHP] SplObjectStorage::unserialize - 문자열 표현에서 저장소의 직렬화를 해제합니다.
SplObjectStorage::unserialize
`SplObjectStorage`는 PHP의 내장 클래스 중 하나로, 객체를 저장하고 관리하는 데 사용됩니다. `unserialize` 메소드는 저장된 객체를 역직렬화하여 원래의 객체 형태로 반환합니다.
사용법
`unserialize` 메소드는 다음과 같은 형식으로 사용됩니다.
#hostingforum.kr
php
$storage = new SplObjectStorage();
// 객체를 저장합니다.
$storage->attach($obj1);
$storage->attach($obj2);
// 역직렬화합니다.
$unserialized = $storage->unserialize();
예제
#hostingforum.kr
php
class Person {
public $name;
public $age;
function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
}
// 객체를 생성합니다.
$person1 = new Person('John', 30);
$person2 = new Person('Jane', 25);
// 객체를 저장합니다.
$storage = new SplObjectStorage();
$storage->attach($person1);
$storage->attach($person2);
// 역직렬화합니다.
$unserialized = $storage->unserialize();
// 역직렬화된 객체를 출력합니다.
foreach ($unserialized as $obj) {
echo $obj->name . ' ' . $obj->age . "
";
}
결과
#hostingforum.kr
John 30
Jane 25
참고
`unserialize` 메소드는 객체를 역직렬화하는 데 사용됩니다. 그러나 객체의 속성이나 메소드는 직렬화된 상태에서 그대로 유지되지 않습니다. 객체의 속성이나 메소드가 변경되면 역직렬화된 객체의 속성이나 메소드도 변경됩니다.
또한 `unserialize` 메소드는 객체의 참조를 반환하므로, 원래의 객체가 삭제되면 역직렬화된 객체도 삭제됩니다.
예외
`unserialize` 메소드는 다음과 같은 예외를 발생시킬 수 있습니다.
- `Exception`: 객체가 직렬화되지 않은 경우.
- `TypeError`: 객체가 직렬화되지 않은 경우.
결론
`SplObjectStorage::unserialize` 메소드는 객체를 역직렬화하여 원래의 객체 형태로 반환합니다. 그러나 객체의 속성이나 메소드는 직렬화된 상태에서 그대로 유지되지 않습니다. 객체의 참조를 반환하므로, 원래의 객체가 삭제되면 역직렬화된 객체도 삭제됩니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.