Note MongoBinData::CUSTOM has value 0x80, not 0xf0
MongoBinData クラス
(バージョン情報なし。おそらく SVN 版にしか存在しないでしょう)
導入
データベースからのバイナリデータを保存したり取得したりする際に使用するオブジェクトです。
データベースに挿入できるひとつのオブジェクトの最大サイズは 4Mb です。 それよりも大きいデータ (動画や音楽、キッシンジャーの自伝など) の場合は MongoGridFS を使います。4Mb より小さなデータの場合は、 MongoBinData を使ってドキュメントに埋め込むほうが簡単でしょう。
たとえば画像をドキュメントに埋め込むには、このようにします。
<?php
$profile = array("username" => "foobity",
"pic" => new MongoBinData(file_get_contents("gravatar.jpg"))
);
$users->save($profile);
?>
このクラスには type フィールドがありますが、 現時点ではこのフィールドはドライバやデータベースに対して何の効果も及ぼしません。 5 種類の型が定義済み (以下のクラス定数を参照ください) です。 (BSON 仕様からはずれることを覚悟の上で) ユーザが自分で定義することもできます。 デフォルトでは、PHP ドライバは常に type 2: バイト配列を使います。
クラス概要
MongoBinData
{
/* 定数 */
/* フィールド */
public
string
$MongoBinData->bin
;
public
int
$type
= 2
;
/* メソッド */
}定義済み定数
バイナリデータ型
-
MongoBinData::FUNC
0x01 - 関数。
-
MongoBinData::BYTE_ARRAY
0x02 - バイト配列。
-
MongoBinData::UUID
0x03 - 全体で一意な識別子。
-
MongoBinData::MD5
0x05 - MD5。
-
MongoBinData::CUSTOM
0xf0 - ユーザ定義型。
目次
- MongoBinData::__construct — 新しいバイナリデータオブジェクトを作成する
- MongoBinData::__toString — このバイナリデータオブジェクトの文字列表現
sander at steffann dot nl
28-May-2010 01:04
