
1. MongoDBBSONSerializable::bsonSerialize를 사용하여 데이터를 serialize하는 방법은 다음과 같습니다.
- serialize할 데이터가 MongoDBBSONSerializable::bsonSerialize의 serialize 가능한 형식인 경우, serialize할 데이터의 인스턴스를 bsonSerialize 메소드에 전달하여 serialize할 수 있습니다.
- 예를 들어, MongoDBBSONSerializable::bsonSerialize를 상속받은 User 클래스의 인스턴스를 serialize할 수 있습니다.
#hostingforum.kr
php
class User implements MongoDBBSONSerializable {
// ...
}
$user = new User();
$data = $user->bsonSerialize();
2. serialize할 데이터가 MongoDBBSONSerializable::bsonSerialize의 serialize 가능한 형식은 다음과 같습니다.
- MongoDBBSONSerializable 인터페이스를 구현한 클래스의 인스턴스
- PHP의 기본 타입 (int, string, float, bool, array, object)
- PHP의 날짜와 시간 타입 (DateTime, DateInterval)
3. serialize할 데이터가 MongoDBBSONSerializable::bsonSerialize의 serialize 불가능한 형식일 때는 다음과 같이 해야 합니다.
- serialize할 데이터를 MongoDBBSONSerializable::bsonSerialize의 serialize 가능한 형식으로 변환해야 합니다.
- 예를 들어, serialize할 데이터가 PHP의 기본 타입이 아닌 경우, MongoDBBSONSerializable::bsonSerialize를 상속받은 클래스를 생성하여 serialize할 수 있습니다.
#hostingforum.kr
php
class CustomType implements MongoDBBSONSerializable {
private $value;
public function __construct($value) {
$this->value = $value;
}
public function bsonSerialize() {
return ['value' => $this->value];
}
}
$customType = new CustomType('serialize할 데이터');
$data = $customType->bsonSerialize();
2025-06-03 17:35