reference/mongodb/bson/binary.xml
3cb0efd1a1c3756d0a38e754ceeb999c540eeeca
...
...
@@ -12,7 +12,10 @@
12
12
<section xml:id="mongodb-bson-binary.intro">
13
13
&reftitle.intro;
14
14
<para>
15
-

15
+
BSON type for binary data (i.e. array of bytes). Binary values also have a
16
+
subtype, which is used to indicate what kind of data is in the byte array.
17
+
Subtypes from zero to 127 are predefined or reserved. Subtypes from 128-255
18
+
are user-defined.
16
19
</para>
17
20
</section>
18
21
<!-- }}} -->
...
...
@@ -26,55 +29,90 @@
26
29

27
30
<!-- {{{ Class synopsis -->
28
31
<classsynopsisinfo>
32
+
<modifier>final</modifier>
29
33
<ooclass>
30
34
<classname>MongoDB\BSON\Binary</classname>
31
35
</ooclass>
32
36

33
37
<oointerface>
38
+
<interfacename>MongoDB\BSON\BinaryInterface</interfacename>
39
+
</oointerface>
40
+

41
+
<oointerface>
34
42
<interfacename>MongoDB\BSON\Type</interfacename>
35
43
</oointerface>
44
+

45
+
<oointerface>
46
+
<interfacename>Serializable</interfacename>
47
+
</oointerface>
48
+

49
+
<oointerface>
50
+
<interfacename>JsonSerializable</interfacename>
51
+
</oointerface>
52
+

53
+
<oointerface>
54
+
<interfacename>Stringable</interfacename>
55
+
</oointerface>
36
56
</classsynopsisinfo>
37
57
<!-- }}} -->
38
-
<classsynopsisinfo role="comment">Constants</classsynopsisinfo>
58
+
<classsynopsisinfo role="comment">&Constants;</classsynopsisinfo>
39
59
<fieldsynopsis>
40
60
<modifier>const</modifier>
41
-
<type>integer</type>
61
+
<type>int</type>
42
62
<varname linkend="mongodb-bson-binary.constants.type-generic">MongoDB\BSON\Binary::TYPE_GENERIC</varname>
43
63
<initializer>0</initializer>
44
64
</fieldsynopsis>
45
65
<fieldsynopsis>
46
66
<modifier>const</modifier>
47
-
<type>integer</type>
67
+
<type>int</type>
48
68
<varname linkend="mongodb-bson-binary.constants.type-function">MongoDB\BSON\Binary::TYPE_FUNCTION</varname>
49
69
<initializer>1</initializer>
50
70
</fieldsynopsis>
51
71
<fieldsynopsis>
52
72
<modifier>const</modifier>
53
-
<type>integer</type>
73
+
<type>int</type>
54
74
<varname linkend="mongodb-bson-binary.constants.type-old-binary">MongoDB\BSON\Binary::TYPE_OLD_BINARY</varname>
55
75
<initializer>2</initializer>
56
76
</fieldsynopsis>
57
77
<fieldsynopsis>
58
78
<modifier>const</modifier>
59
-
<type>integer</type>
79
+
<type>int</type>
60
80
<varname linkend="mongodb-bson-binary.constants.type-old-uuid">MongoDB\BSON\Binary::TYPE_OLD_UUID</varname>
61
81
<initializer>3</initializer>
62
82
</fieldsynopsis>
63
83
<fieldsynopsis>
64
84
<modifier>const</modifier>
65
-
<type>integer</type>
85
+
<type>int</type>
66
86
<varname linkend="mongodb-bson-binary.constants.type-uuid">MongoDB\BSON\Binary::TYPE_UUID</varname>
67
87
<initializer>4</initializer>
68
88
</fieldsynopsis>
69
89
<fieldsynopsis>
70
90
<modifier>const</modifier>
71
-
<type>integer</type>
91
+
<type>int</type>
72
92
<varname linkend="mongodb-bson-binary.constants.type-md5">MongoDB\BSON\Binary::TYPE_MD5</varname>
73
93
<initializer>5</initializer>
74
94
</fieldsynopsis>
75
95
<fieldsynopsis>
76
96
<modifier>const</modifier>
77
-
<type>integer</type>
97
+
<type>int</type>
98
+
<varname linkend="mongodb-bson-binary.constants.type-encrypted">MongoDB\BSON\Binary::TYPE_ENCRYPTED</varname>
99
+
<initializer>6</initializer>
100
+
</fieldsynopsis>
101
+
<fieldsynopsis>
102
+
<modifier>const</modifier>
103
+
<type>int</type>
104
+
<varname linkend="mongodb-bson-binary.constants.type-column">MongoDB\BSON\Binary::TYPE_COLUMN</varname>
105
+
<initializer>7</initializer>
106
+
</fieldsynopsis>
107
+
<fieldsynopsis>
108
+
<modifier>const</modifier>
109
+
<type>int</type>
110
+
<varname linkend="mongodb-bson-binary.constants.type-sensitive">MongoDB\BSON\Binary::TYPE_SENSITIVE</varname>
111
+
<initializer>8</initializer>
112
+
</fieldsynopsis>
113
+
<fieldsynopsis>
114
+
<modifier>const</modifier>
115
+
<type>int</type>
78
116
<varname linkend="mongodb-bson-binary.constants.type-user-defined">MongoDB\BSON\Binary::TYPE_USER_DEFINED</varname>
79
117
<initializer>128</initializer>
80
118
</fieldsynopsis>
...
...
@@ -94,49 +132,74 @@
94
132
<varlistentry xml:id="mongodb-bson-binary.constants.type-generic">
95
133
<term><constant>MongoDB\BSON\Binary::TYPE_GENERIC</constant></term>
96
134
<listitem>
97
-
<para></para>
135
+
<para>Generic binary data.</para>
98
136
</listitem>
99
137
</varlistentry>
100
138

101
139
<varlistentry xml:id="mongodb-bson-binary.constants.type-function">
102
140
<term><constant>MongoDB\BSON\Binary::TYPE_FUNCTION</constant></term>
103
141
<listitem>
104
-
<para></para>
142
+
<para>Function.</para>
105
143
</listitem>
106
144
</varlistentry>
107
145

108
146
<varlistentry xml:id="mongodb-bson-binary.constants.type-old-binary">
109
147
<term><constant>MongoDB\BSON\Binary::TYPE_OLD_BINARY</constant></term>
110
148
<listitem>
111
-
<para></para>
149
+
<para>Generic binary data (deprecated in favor of <constant>MongoDB\BSON\Binary::TYPE_GENERIC</constant>).</para>
112
150
</listitem>
113
151
</varlistentry>
114
152

115
153
<varlistentry xml:id="mongodb-bson-binary.constants.type-old-uuid">
116
154
<term><constant>MongoDB\BSON\Binary::TYPE_OLD_UUID</constant></term>
117
155
<listitem>
118
-
<para></para>
156
+
<para>Universally unique identifier (deprecated in favor of <constant>MongoDB\BSON\Binary::TYPE_UUID</constant>). When using this type, the Binary&apos;s data should be 16 bytes in length.</para>
157
+
<para>Historically, other drivers encoded values with this type based on their language conventions (e.g. varying endianness), which makes it non-portable. The PHP driver applies no special handling for encoding or decoding data with this type.</para>
119
158
</listitem>
120
159
</varlistentry>
121
160

122
161
<varlistentry xml:id="mongodb-bson-binary.constants.type-uuid">
123
162
<term><constant>MongoDB\BSON\Binary::TYPE_UUID</constant></term>
124
163
<listitem>
125
-
<para></para>
164
+
<para>Universally unique identifier. When using this type, the Binary&apos;s data should be 16 bytes in length and encoded according to <link xlink:href="&url.rfc;4122">RFC 4122</link>.</para>
126
165
</listitem>
127
166
</varlistentry>
128
167

129
168
<varlistentry xml:id="mongodb-bson-binary.constants.type-md5">
130
169
<term><constant>MongoDB\BSON\Binary::TYPE_MD5</constant></term>
131
170
<listitem>
132
-
<para></para>
171
+
<para>MD5 hash. When using this type, the Binary&apos;s data should be 16 bytes in length.</para>
172
+
</listitem>
173
+
</varlistentry>
174
+

175
+
<varlistentry xml:id="mongodb-bson-binary.constants.type-encrypted">
176
+
<term><constant>MongoDB\BSON\Binary::TYPE_ENCRYPTED</constant></term>
177
+
<listitem>
178
+
<para>Encrypted value. This subtype is used for client-side encryption.</para>
179
+
</listitem>
180
+
</varlistentry>
181
+

182
+
<varlistentry xml:id="mongodb-bson-binary.constants.type-column">
183
+
<term><constant>MongoDB\BSON\Binary::TYPE_COLUMN</constant></term>
184
+
<listitem>
185
+
<para>Column data. This subtype is used for time-series collections.</para>
186
+
</listitem>
187
+
</varlistentry>
188
+

189
+
<varlistentry xml:id="mongodb-bson-binary.constants.type-sensitive">
190
+
<term><constant>MongoDB\BSON\Binary::TYPE_SENSITIVE</constant></term>
191
+
<listitem>
192
+
<para>
193
+
Sensitive data. This subtype is used for sensitive data that should be
194
+
excluded from server-side logging when possible.
195
+
</para>
133
196
</listitem>
134
197
</varlistentry>
135
198

136
199
<varlistentry xml:id="mongodb-bson-binary.constants.type-user-defined">
137
200
<term><constant>MongoDB\BSON\Binary::TYPE_USER_DEFINED</constant></term>
138
201
<listitem>
139
-
<para></para>
202
+
<para>User-defined type. While types between 0 and 127 are predefined or reserved, types between 128 and 255 are user-defined and may be used for anything.</para>
140
203
</listitem>
141
204
</varlistentry>
142
205

...
...
@@ -144,6 +207,59 @@
144
207
</section>
145
208
<!-- }}} -->
146
209

210
+
<section role="changelog">
211
+
&reftitle.changelog;
212
+
<para>
213
+
<informaltable>
214
+
<tgroup cols="2">
215
+
<thead>
216
+
<row>
217
+
<entry>&Version;</entry>
218
+
<entry>&Description;</entry>
219
+
</row>
220
+
</thead>
221
+
<tbody>
222
+
<row>
223
+
<entry>PECL mongodb 1.17.0</entry>
224
+
<entry>
225
+
Added <constant>MongoDB\BSON\Binary::TYPE_SENSITIVE</constant>.
226
+
</entry>
227
+
</row>
228
+
<row>
229
+
<entry>PECL mongodb 1.12.0</entry>
230
+
<entry>
231
+
<para>
232
+
Implements <interfacename>Stringable</interfacename> for PHP 8.0+.
233
+
</para>
234
+
<para>
235
+
Added <constant>MongoDB\BSON\Binary::TYPE_COLUMN</constant>.
236
+
</para>
237
+
</entry>
238
+
</row>
239
+
<row>
240
+
<entry>PECL mongodb 1.7.0</entry>
241
+
<entry>
242
+
Added <constant>MongoDB\BSON\Binary::TYPE_ENCRYPTED</constant>.
243
+
</entry>
244
+
</row>
245
+
<row>
246
+
<entry>PECL mongodb 1.3.0</entry>
247
+
<entry>
248
+
Implements <interfacename>MongoDB\BSON\BinaryInterface</interfacename>.
249
+
</entry>
250
+
</row>
251
+
<row>
252
+
<entry>PECL mongodb 1.2.0</entry>
253
+
<entry>
254
+
Implements <interfacename>Serializable</interfacename> and
255
+
<interfacename>JsonSerializable</interfacename>.
256
+
</entry>
257
+
</row>
258
+
</tbody>
259
+
</tgroup>
260
+
</informaltable>
261
+
</para>
262
+
</section>
147
263

148
264
</partintro>
149
265

150
266