language-snippets.ent
21e1338e9721534c00085ff3cff25e2dd2e84dc9
...
...
@@ -18,28 +18,52 @@ xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
18
18
highly discouraged.</simpara></warning>'>
19
19

20
20
<!-- Cautions -->
21
-
<!ENTITY caution.cryptographically-insecure '<caution xmlns="http://docbook.org/ns/docbook"><para>This function does not
22
-
generate cryptographically secure values, and should not be used for cryptographic purposes. If you need a
23
-
cryptographically secure value, consider using <function>random_int</function>, <function>random_bytes</function>, or
24
-
<function>openssl_random_pseudo_bytes</function> instead.</para></caution>'>
21
+
<!ENTITY caution.cryptographically-insecure '<caution xmlns="http://docbook.org/ns/docbook">
22
+
<para>
23
+
This function does not generate cryptographically secure values, and <emphasis>must not</emphasis>
24
+
be used for cryptographic purposes, or purposes that require returned values to be unguessable.
25
+
</para>
26
+
<para>
27
+
If cryptographically secure randomness is required, the <classname>Random\Randomizer</classname> may be
28
+
used with the <classname>Random\Engine\Secure</classname> engine. For simple use cases, the <function>random_int</function>
29
+
and <function>random_bytes</function> functions provide a convenient and secure <acronym>API</acronym> that is backed by
30
+
the operating system’s <acronym>CSPRNG</acronym>.
31
+
</para>
32
+
</caution>'>
33
+

34
+
<!ENTITY caution.mt19937-tiny-seed '<caution xmlns="http://docbook.org/ns/docbook">
35
+
<para>
36
+
Because the Mt19937 (“Mersenne Twister”) engine accepts only a single 32 bit integer as the
37
+
seed, the number of possible random sequences is limited to just 2<superscript>32</superscript>
38
+
(i.e. 4,294,967,296), despite Mt19937’s huge period of 2<superscript>19937</superscript>-1.
39
+
</para>
40
+
<para>
41
+
When relying on either implicit or explicit random seeding, duplications will appear
42
+
much earlier. Duplicated seeds are expected with 50&#37; probability after less than
43
+
80,000 randomly generated seeds according to the birthday problem. A 10&#37; probability
44
+
of a duplicated seed happens after randomly generating roughly 30,000 seeds.
45
+
</para>
46
+
<para>
47
+
This makes Mt19937 unsuitable for applications where duplicated sequences must not happen with
48
+
more than a negligible probability. If reproducible seeding is required, both the
49
+
<classname>Random\Engine\Xoshiro256StarStar</classname> and <classname>Random\Engine\PcgOneseq128XslRr64</classname>
50
+
engines support much larger seeds that are unlikely to collide randomly. If reproducibility
51
+
is not required, the <classname>Random\Engine\Secure</classname> engine provides cryptographically
52
+
secure randomness.
53
+
</para>
54
+
</caution>'>
25
55

26
56
<!-- Notes -->
27
57

28
58
<!ENTITY note.bin-safe '<note xmlns="http://docbook.org/ns/docbook"><simpara>This function is
29
59
binary-safe.</simpara></note>'>
30
60

31
-
<!ENTITY note.locale-single-byte '<note xmlns="http://docbook.org/ns/docbook"><simpara>This function is locale-aware
32
-
and will handle input according to the currently set locale. However, it only works on single-byte character sets.
33
-
If you need to use multibyte characters (most non-western-European languages) look at the
34
-
<link linkend="book.mbstring">multibyte</link> or <link linkend="book.intl">intl</link> extensions instead.</simpara></note>'>
35
-

36
61
<!ENTITY note.clearstatcache '<note xmlns="http://docbook.org/ns/docbook"><simpara>The results of this
37
62
function are cached. See <function>clearstatcache</function> for
38
63
more details.</simpara></note>'>
39
64

40
-
<!ENTITY note.context-support '<note xmlns="http://docbook.org/ns/docbook"><simpara>Context support was added
41
-
with PHP 5.0.0. For a description of <literal>contexts</literal>, refer to
42
-
<xref linkend="book.stream"/>.</simpara></note>'>
65
+
<!ENTITY note.context-support '<para xmlns="http://docbook.org/ns/docbook">A <link linkend="stream.contexts">context stream</link>
66
+
<type>resource</type>.</para>'>
43
67

44
68
<!ENTITY note.exec-bg '<note xmlns="http://docbook.org/ns/docbook"><para>If a program is started with this function,
45
69
in order for it to continue running in the background, the output of the
...
...
@@ -50,6 +74,11 @@ will cause PHP to hang until the execution of the program ends.</para></note>'>
50
74
will first start cmd.exe to launch the command. If you want to start an external program without starting cmd.exe
51
75
use <function>proc_open</function> with the <parameter>bypass_shell</parameter> option set.</para></note>'>
52
76

77
+
<!ENTITY note.extractto-windows '<note xmlns="http://docbook.org/ns/docbook"><para>Windows NTFS file systems
78
+
do not support some characters in filenames, namely <literal>&lt;|&gt;*?":</literal>. Filenames with a trailing dot
79
+
are not supported either. Contrary to some extraction tools, this method does not replace these characters with
80
+
an underscore, but instead fails to extract such files.</para></note>'>
81
+

53
82
<!ENTITY note.func-callback '<note xmlns="http://docbook.org/ns/docbook"><simpara>Instead of a function name, an
54
83
array containing an object reference and a method name can also be
55
84
supplied.</simpara></note>'>
...
...
@@ -67,6 +96,13 @@ current scope to determine parameter details, it cannot be used as a
67
96
function parameter in versions prior to 5.3.0. If this value must be passed, the results should be assigned
68
97
to a variable, and that variable should be passed.</para></note>'>
69
98

99
+
<!ENTITY note.func-named-params '<note xmlns="http://docbook.org/ns/docbook"><para>As of PHP 8.0.0, the func_*() family of
100
+
functions is intended to be mostly transparent with regard to named arguments,
101
+
by treating the arguments as if they were all passed positionally,
102
+
and missing arguments are replaced with their defaults.
103
+
This function ignores the collection of unknown named variadic arguments.
104
+
Unknown named arguments which are collected can only be accessed through the variadic parameter.</para></note>'>
105
+

70
106
<!ENTITY note.line-endings '<note xmlns="http://docbook.org/ns/docbook"><simpara>If PHP is not properly recognizing
71
107
the line endings when reading files either on or created by a Macintosh
72
108
computer, enabling the
...
...
@@ -99,12 +135,6 @@ to seed the random number generator with <function>srand</function> or
99
135
<function>mt_srand</function> as this is done automatically.
100
136
</simpara></note>'>
101
137

102
-
<!ENTITY note.registerglobals '<note xmlns="http://docbook.org/ns/docbook"><title>register_globals: important
103
-
note</title><para>As of PHP 4.2.0, the default value for the PHP directive
104
-
<link linkend="ini.register-globals">register_globals</link> is <emphasis>
105
-
off</emphasis>. The PHP community discourages developers from relying on this directive, and encourages the use
106
-
of other means, such as the &link.superglobals;.</para></note>'>
107
-

108
138
<!ENTITY note.is-superglobal "<note xmlns='http://docbook.org/ns/docbook'><para>This is a 'superglobal', or
109
139
automatic global, variable. This simply means that it is available in
110
140
all scopes throughout a script. There is no need to do
...
...
@@ -115,6 +145,10 @@ all scopes throughout a script. There is no need to do
115
145
is used, this function uses internal output buffering so it cannot be used inside an
116
146
<function>ob_start</function> callback function.</para></note>'>
117
147

148
+
<!ENTITY note.uses-ob-php70 '<note xmlns="http://docbook.org/ns/docbook"><para>When the <parameter>return</parameter> parameter
149
+
is used, this function uses internal output buffering prior to PHP 7.1.0, so it cannot be used inside an
150
+
<function>ob_start</function> callback function.</para></note>'>
151
+

118
152
<!ENTITY note.filesystem-time-res '<note xmlns="http://docbook.org/ns/docbook"><para>Note that time resolution may differ
119
153
from one file system to another.</para></note>'>
120
154

...
...
@@ -139,7 +173,22 @@ from one file system to another.</para></note>'>
139
173

140
174
<!ENTITY note.sort-unstable '<note xmlns="http://docbook.org/ns/docbook">
141
175
<para>
142
-
If two members compare as equal, their relative order in the sorted array is undefined.
176
+
If two members compare as equal, they retain their original order.
177
+
Prior to PHP 8.0.0, their relative order in the sorted array was undefined.
178
+
</para>
179
+
</note>
180
+
'>
181
+

182
+
<!ENTITY note.reset-index "<note xmlns='http://docbook.org/ns/docbook'>
183
+
<para>
184
+
Resets array's internal pointer to the first element.
185
+
</para>
186
+
</note>
187
+
">
188
+

189
+
<!ENTITY note.resource-migration-8.0-dead-function '<note xmlns="http://docbook.org/ns/docbook">
190
+
<para>
191
+
This function has no effect. Prior to PHP 8.0.0, this function was used to close the resource.
143
192
</para>
144
193
</note>
145
194
'>
...
...
@@ -223,6 +272,12 @@ xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
223
272
<emphasis>DEPRECATED</emphasis> as of PHP 7.1.0. Relying on this function
224
273
is highly discouraged.</simpara></warning>'>
225
274

275
+
<!ENTITY warn.deprecated.function-7-0-0.removed-8-0-0 '<warning
276
+
xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
277
+
<emphasis>DEPRECATED</emphasis> as of PHP 7.0.0 and
278
+
<emphasis>REMOVED</emphasis> as of PHP 8.0.0. Relying on this function
279
+
is highly discouraged.</simpara></warning>'>
280
+

226
281
<!ENTITY warn.deprecated.function-7-1-0.removed-7-2-0 '<warning
227
282
xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
228
283
<emphasis>DEPRECATED</emphasis> as of PHP 7.1.0 and
...
...
@@ -234,11 +289,21 @@ xmlns="http://docbook.org/ns/docbook"><simpara>This feature has been
234
289
<emphasis>DEPRECATED</emphasis> as of PHP 7.2.0. Relying on this feature
235
290
is highly discouraged.</simpara></warning>'>
236
291

292
+
<!ENTITY warn.deprecated.feature-7-2-0.removed-8-0-0 '<warning
293
+
xmlns="http://docbook.org/ns/docbook"><simpara>This feature has been
294
+
<emphasis>DEPRECATED</emphasis> as of PHP 7.2.0, and <emphasis>REMOVED</emphasis> as of PHP 8.0.0. Relying on this feature
295
+
is highly discouraged.</simpara></warning>'>
296
+

237
297
<!ENTITY warn.deprecated.function-7-2-0 '<warning
238
298
xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
239
299
<emphasis>DEPRECATED</emphasis> as of PHP 7.2.0. Relying on this function
240
300
is highly discouraged.</simpara></warning>'>
241
301

302
+
<!ENTITY warn.deprecated.function-7-2-0.removed-8-0-0 '<warning
303
+
xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
304
+
<emphasis>DEPRECATED</emphasis> as of PHP 7.2.0, and <emphasis>REMOVED</emphasis> as of PHP 8.0.0. Relying on this function
305
+
is highly discouraged.</simpara></warning>'>
306
+

242
307
<!ENTITY warn.deprecated.feature-7-3-0 '<warning
243
308
xmlns="http://docbook.org/ns/docbook"><simpara>This feature has been
244
309
<emphasis>DEPRECATED</emphasis> as of PHP 7.3.0. Relying on this feature
...
...
@@ -249,6 +314,11 @@ xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
249
314
<emphasis>DEPRECATED</emphasis> as of PHP 7.3.0. Relying on this function
250
315
is highly discouraged.</simpara></warning>'>
251
316

317
+
<!ENTITY warn.deprecated.function-7-3-0.removed-8-0-0 '<warning
318
+
xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
319
+
<emphasis>DEPRECATED</emphasis> as of PHP 7.3.0, and <emphasis>REMOVED</emphasis> as of PHP 8.0.0. Relying on this function
320
+
is highly discouraged.</simpara></warning>'>
321
+

252
322
<!ENTITY warn.deprecated.feature-7-4-0 '<warning
253
323
xmlns="http://docbook.org/ns/docbook"><simpara>This feature has been
254
324
<emphasis>DEPRECATED</emphasis> as of PHP 7.4.0. Relying on this feature
...
...
@@ -259,6 +329,40 @@ xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
259
329
<emphasis>DEPRECATED</emphasis> as of PHP 7.4.0. Relying on this function
260
330
is highly discouraged.</simpara></warning>'>
261
331

332
+
<!ENTITY warn.deprecated.function-7-4-0.removed-8-0-0 '<warning
333
+
xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
334
+
<emphasis>DEPRECATED</emphasis> as of PHP 7.4.0, and <emphasis>REMOVED</emphasis> as of PHP 8.0.0. Relying on this function
335
+
is highly discouraged.</simpara></warning>'>
336
+

337
+
<!ENTITY warn.feature.removed-8-0-0 '<warning xmlns="http://docbook.org/ns/docbook">
338
+
<simpara>This feature was <emphasis>REMOVED</emphasis> as of PHP 8.0.0.</simpara>
339
+
</warning>'>
340
+

341
+
<!ENTITY warn.deprecated.function-8-0-0 '<warning
342
+
xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
343
+
<emphasis>DEPRECATED</emphasis> as of PHP 8.0.0. Relying on this function
344
+
is highly discouraged.</simpara></warning>'>
345
+

346
+
<!ENTITY warn.deprecated.function-8-1-0 '<warning
347
+
xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
348
+
<emphasis>DEPRECATED</emphasis> as of PHP 8.1.0. Relying on this function
349
+
is highly discouraged.</simpara></warning>'>
350
+

351
+
<!ENTITY warn.deprecated.function-8-2-0 '<warning
352
+
xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
353
+
<emphasis>DEPRECATED</emphasis> as of PHP 8.2.0. Relying on this function
354
+
is highly discouraged.</simpara></warning>'>
355
+

356
+
<!ENTITY warn.deprecated.feature-8-3-0 '<warning
357
+
xmlns="http://docbook.org/ns/docbook"><simpara>This feature has been
358
+
<emphasis>DEPRECATED</emphasis> as of PHP 8.3.0. Relying on this feature
359
+
is highly discouraged.</simpara></warning>'>
360
+

361
+
<!ENTITY warn.deprecated.function-8-3-0 '<warning
362
+
xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
363
+
<emphasis>DEPRECATED</emphasis> as of PHP 8.3.0. Relying on this function
364
+
is highly discouraged.</simpara></warning>'>
365
+

262
366
<!ENTITY removed.php.future 'This deprecated feature <emphasis xmlns="http://docbook.org/ns/docbook">will</emphasis>
263
367
certainly be <emphasis xmlns="http://docbook.org/ns/docbook">removed</emphasis> in the future.'>
264
368

...
...
@@ -318,9 +422,18 @@ xmlns="http://docbook.org/ns/docbook"><simpara>This function was
318
422
xmlns="http://docbook.org/ns/docbook"><simpara>This function was
319
423
<emphasis>REMOVED</emphasis> in PHP 7.4.0.</simpara></warning>'>
320
424

425
+
<!ENTITY warn.deprecated.alias-7-2-0.removed-8-0-0 '<warning xmlns="http://docbook.org/ns/docbook"><simpara>This alias was
426
+
<emphasis>DEPRECATED</emphasis> in PHP 7.2.0, and <emphasis>REMOVED</emphasis> as of PHP 8.0.0.</simpara></warning>'>
427
+

321
428
<!ENTITY warn.deprecated.alias-7-4-0.removed-8-0-0 '<warning xmlns="http://docbook.org/ns/docbook"><simpara>This alias was
322
429
<emphasis>DEPRECATED</emphasis> in PHP 7.4.0, and <emphasis>REMOVED</emphasis> as of PHP 8.0.0.</simpara></warning>'>
323
430

431
+
<!ENTITY warn.deprecated.alias-8-0-0 '<warning xmlns="http://docbook.org/ns/docbook"><simpara>This alias is
432
+
<emphasis>DEPRECATED</emphasis> as of PHP 8.0.0.</simpara></warning>'>
433
+

434
+
<!ENTITY warn.removed.alias-8-0-0 '<warning xmlns="http://docbook.org/ns/docbook"><simpara>This alias is
435
+
<emphasis>REMOVED</emphasis> as of PHP 8.0.0.</simpara></warning>'>
436
+

324
437
<!ENTITY warn.experimental.func '<warning xmlns="http://docbook.org/ns/docbook"><simpara>This function is
325
438
<emphasis>EXPERIMENTAL</emphasis>. The behaviour of this function, its name, and
326
439
surrounding documentation may change without notice in a future release of PHP.
...
...
@@ -338,12 +451,6 @@ to several possible vulnerabilities. Please read our
338
451
<link linkend="security.cgi-bin">CGI security section</link> to learn how to
339
452
defend yourself from such attacks.</para></warning>'>
340
453

341
-
<!ENTITY note.magicquotes.gpc '<note xmlns="http://docbook.org/ns/docbook"><title>directive note: magic_quotes_gpc
342
-
</title><para>The <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>
343
-
directive defaults to <literal>on</literal>. It essentially runs
344
-
<function>addslashes</function> on all GET, POST, and COOKIE data.
345
-
<function>stripslashes</function> may be used to remove them.</para></note>'>
346
-

347
454
<!ENTITY warn.passwordhashing '
348
455
<warning xmlns="http://docbook.org/ns/docbook">
349
456
<para>
...
...
@@ -463,6 +570,15 @@ currently not documented; only its argument list is available.
463
570
</para>
464
571
'>
465
572

573
+
<!ENTITY warn.deprecated.function-8-1-0.alternatives '<warning
574
+
xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
575
+
<emphasis>DEPRECATED</emphasis> as of PHP 8.1.0. Relying on this function
576
+
is highly discouraged.</simpara></warning>
577
+
<para xmlns="http://docbook.org/ns/docbook">
578
+
Alternatives to this function include:
579
+
</para>
580
+
'>
581
+

466
582
<!-- Misc -->
467
583

468
584
<!ENTITY version.exists.asof 'This exists as of PHP '>
...
...
@@ -489,8 +605,26 @@ currently not documented; only its argument list is available.
489
605

490
606
<!ENTITY example.outputs.71 '<para xmlns="http://docbook.org/ns/docbook">Output of the above example in PHP 7.1:</para>'>
491
607

608
+
<!ENTITY example.outputs.72 '<para xmlns="http://docbook.org/ns/docbook">Output of the above example in PHP 7.2:</para>'>
609
+

492
610
<!ENTITY example.outputs.73 '<para xmlns="http://docbook.org/ns/docbook">Output of the above example in PHP 7.3:</para>'>
493
611

612
+
<!ENTITY example.outputs.8 '<para xmlns="http://docbook.org/ns/docbook">Output of the above example in PHP 8:</para>'>
613
+

614
+
<!ENTITY example.outputs.8.similar '<para xmlns="http://docbook.org/ns/docbook">Output of the above example in PHP 8 is similar to:</para>'>
615
+

616
+
<!ENTITY example.outputs.80 '<para xmlns="http://docbook.org/ns/docbook">Output of the above example in PHP 8.0:</para>'>
617
+

618
+
<!ENTITY example.outputs.81 '<para xmlns="http://docbook.org/ns/docbook">Output of the above example in PHP 8.1:</para>'>
619
+

620
+
<!ENTITY example.outputs.82 '<para xmlns="http://docbook.org/ns/docbook">Output of the above example in PHP 8.2:</para>'>
621
+

622
+
<!ENTITY example.outputs.82.similar '<para xmlns="http://docbook.org/ns/docbook">Output of the above example in PHP 8.2 is similar to:</para>'>
623
+

624
+
<!ENTITY example.outputs.83 '<para xmlns="http://docbook.org/ns/docbook">Output of the above example in PHP 8.3:</para>'>
625
+

626
+
<!ENTITY example.outputs.83.similar '<para xmlns="http://docbook.org/ns/docbook">Output of the above example in PHP 8.3 is similar to:</para>'>
627
+

494
628
<!ENTITY example.outputs.32bit '<para xmlns="http://docbook.org/ns/docbook">Output of the above example on 32 bit machines:</para>'>
495
629

496
630
<!ENTITY example.outputs.64bit '<para xmlns="http://docbook.org/ns/docbook">Output of the above example on 64 bit machines:</para>'>
...
...
@@ -511,15 +645,110 @@ something similar to:</para>'>
511
645
<function>reset</function> the <type>array</type> pointer of the input array after
512
646
use.</simpara></note>'>
513
647

648
+
<!ENTITY array.changelog.by-ref '<row xmlns="http://docbook.org/ns/docbook">
649
+
<entry>8.0.0</entry>
650
+
<entry>
651
+
If <parameter>callback</parameter> expects a parameter to be passed
652
+
by reference, this function will now emit an <constant>E_WARNING</constant>.
653
+
</entry>
654
+
</row>'>
655
+

656
+
<!ENTITY array.changelog.require-only-one '<row xmlns="http://docbook.org/ns/docbook">
657
+
<entry>8.0.0</entry>
658
+
<entry>
659
+
This function can now be called with only one parameter.
660
+
Formerly, at least two parameters have been required.
661
+
</entry>
662
+
</row>'>
663
+

514
664
<!ENTITY seealso.array.sorting 'The <link xmlns="http://docbook.org/ns/docbook" linkend="array.sorting">comparison of array sorting functions</link>'>
515
665

516
-
<!ENTITY avail.register-long-arrays 'As of PHP 5.0.0, the long PHP
517
-
<link xmlns="http://docbook.org/ns/docbook" linkend="language.variables.predefined">predefined variable</link>
518
-
arrays may be disabled with the
519
-
<link xmlns="http://docbook.org/ns/docbook" linkend="ini.register-long-arrays">register_long_arrays</link>
520
-
directive.'>
666
+
<!ENTITY sort.flags.parameter '<varlistentry xmlns="http://docbook.org/ns/docbook">
667
+
<term><parameter>flags</parameter></term>
668
+
<listitem>
669
+
<para>
670
+
The optional second parameter <parameter>flags</parameter>
671
+
may be used to modify the sorting behavior using these values:
672
+
</para>
673
+
<para>
674
+
Sorting type flags:
675
+
<itemizedlist>
676
+
<listitem>
677
+
<simpara><constant>SORT_REGULAR</constant> - compare items normally;
678
+
the details are described in the <link linkend="language.operators.comparison">comparison operators</link> section</simpara>
679
+
</listitem>
680
+
<listitem>
681
+
<simpara><constant>SORT_NUMERIC</constant> - compare items numerically</simpara>
682
+
</listitem>
683
+
<listitem>
684
+
<simpara><constant>SORT_STRING</constant> - compare items as strings</simpara>
685
+
</listitem>
686
+
<listitem>
687
+
<simpara>
688
+
<constant>SORT_LOCALE_STRING</constant> - compare items as
689
+
strings, based on the current locale. It uses the locale,
690
+
which can be changed using <function>setlocale</function>
691
+
</simpara>
692
+
</listitem>
693
+
<listitem>
694
+
<simpara>
695
+
<constant>SORT_NATURAL</constant> - compare items as strings
696
+
using "natural ordering" like <function>natsort</function>
697
+
</simpara>
698
+
</listitem>
699
+
<listitem>
700
+
<simpara>
701
+
<constant>SORT_FLAG_CASE</constant> - can be combined
702
+
(bitwise OR) with
703
+
<constant>SORT_STRING</constant> or
704
+
<constant>SORT_NATURAL</constant> to sort strings case-insensitively
705
+
</simpara>
706
+
</listitem>
707
+
</itemizedlist>
708
+
</para>
709
+
</listitem>
710
+
</varlistentry>
711
+
'>
712
+

713
+
<!ENTITY sort.callback.description '<para xmlns="http://docbook.org/ns/docbook">
714
+
&return.callbacksort;
715
+
</para>
716
+
&callback.cmp;
717
+
<caution xmlns="http://docbook.org/ns/docbook">
718
+
<para>
719
+
Returning <emphasis>non-integer</emphasis> values from the comparison
720
+
function, such as <type>float</type>, will result in an internal cast to
721
+
<type>int</type> of the callback&apos;s return value. So values such as
722
+
<literal>0.99</literal> and <literal>0.1</literal> will both be cast to an
723
+
integer value of <literal>0</literal>, which will compare such values as equal.
724
+
</para>
725
+
</caution>'>
726
+

727
+
<!ENTITY sort.callback.description.presort '<caution xmlns="http://docbook.org/ns/docbook">
728
+
<para>
729
+
The sorting callback must handle any value from any array in any order,
730
+
regardless of the order they were originally provided.
731
+
This is because each individual array is first sorted before being compared against other arrays.
732
+

733
+
For example:
734
+
<programlisting role="php">
735
+
<![CDATA[
736
+
<?php
737
+
$arrayA = ["string", 1];
738
+
$arrayB = [["value" => 1]];
739
+
// $item1 and $item2 can be any of "string", 1 or ["value" => 1]
740
+
$compareFunc = static function ($item1, $item2) {
741
+
$value1 = is_string($item1) ? strlen($item1) : (is_array($item1) ? $item1["value"] : $item1);
742
+
$value2 = is_string($item2) ? strlen($item2) : (is_array($item2) ? $item2["value"] : $item2);
743
+
return $value1 <=> $value2;
744
+
};
745
+
?>
746
+
]]>
747
+
</programlisting>
748
+
</para>
749
+
</caution>'>
521
750

522
-
<!ENTITY ini.shorthandbytes '<simpara xmlns="http://docbook.org/ns/docbook">When an <type>integer</type> is used, the
751
+
<!ENTITY ini.shorthandbytes '<simpara xmlns="http://docbook.org/ns/docbook">When an <type>int</type> is used, the
523
752
value is measured in bytes. Shorthand notation, as described
524
753
in <link linkend="faq.using.shorthandbytes">this FAQ</link>, may also be used.
525
754
</simpara>'>
...
...
@@ -550,13 +779,15 @@ files from the PHP folder into the Windows system directory also works
550
779

551
780
<!ENTITY manual.migration.seealso 'See also the migration guides for PHP versions'>
552
781

553
-
<!ENTITY style.oop 'Object oriented style'>
782
+
<!ENTITY style.oop 'Object-oriented style'>
554
783
<!ENTITY style.procedural 'Procedural style'>
555
784

556
785
<!ENTITY resource '<link xmlns="http://docbook.org/ns/docbook" linkend="language.types.resource">resource</link>'>
557
786

558
787
<!ENTITY foreach '<link xmlns="http://docbook.org/ns/docbook" linkend="control-structures.foreach">foreach</link>'>
559
788

789
+
<!ENTITY match '<link xmlns="http://docbook.org/ns/docbook" linkend="control-structures.match">match</link>'>
790
+

560
791
<!ENTITY yield '<link xmlns="http://docbook.org/ns/docbook" linkend="control-structures.yield">yield</link>'>
561
792

562
793
<!ENTITY parameter.context 'Refer to the <link xmlns="http://docbook.org/ns/docbook" linkend="context">context</link>
...
...
@@ -567,6 +798,13 @@ searched for within the <link xmlns="http://docbook.org/ns/docbook" linkend="ini
567
798

568
799
<!-- Returns -->
569
800

801
+
<!ENTITY return.type.true '<row xmlns="http://docbook.org/ns/docbook">
802
+
<entry>8.2.0</entry>
803
+
<entry>
804
+
The return type is &true; now; previously, it was <type>bool</type>.
805
+
</entry>
806
+
</row>'>
807
+

570
808
<!ENTITY return.falseforfailure ' or &false; on failure'>
571
809
<!ENTITY return.falseforfailure.style.procedural '&style.procedural; returns &false; on failure.'>
572
810

...
...
@@ -576,8 +814,9 @@ searched for within the <link xmlns="http://docbook.org/ns/docbook" linkend="ini
576
814

577
815
<!ENTITY return.void 'No value is returned.'>
578
816

579
-
<!ENTITY return.callbacksort 'The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.
580
-
Note that before PHP 7.0.0 this integer had to be in the range from -2147483648 to 2147483647.'>
817
+
<!ENTITY return.true.always 'Always returns &true;.'>
818
+

819
+
<!ENTITY return.callbacksort 'The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.'>
581
820

582
821
<!ENTITY return.falseproblem '<warning xmlns="http://docbook.org/ns/docbook"><simpara>This function may
583
822
return Boolean &false;, but may also return a non-Boolean value which
...
...
@@ -587,6 +826,42 @@ information. Use <link linkend="language.operators.comparison">the ===
587
826
operator</link> for testing the return value of this
588
827
function.</simpara></warning>'>
589
828

829
+
<!-- Standard -->
830
+
<!ENTITY standard.changelog.calling-on-objects '<row xmlns="http://docbook.org/ns/docbook">
831
+
<entry>8.1.0</entry>
832
+
<entry>
833
+
Calling this function on &object;s is deprecated.
834
+
Either convert the &object; to an &array; using <function>get_mangled_object_vars</function> first, or use the methods
835
+
provided by a class that implements <interfacename>Iterator</interfacename>, such as <classname>ArrayIterator</classname>, instead.
836
+
</entry>
837
+
</row>
838
+
<row xmlns="http://docbook.org/ns/docbook">
839
+
<entry>7.4.0</entry>
840
+
<entry>
841
+
Instances of <link xmlns="http://docbook.org/ns/docbook" linkend="book.spl">SPL</link> classes are now treated like empty objects that have no properties instead of calling the <interfacename>Iterator</interfacename> method with the same name as this function.
842
+
</entry>
843
+
</row>
844
+
'>
845
+

846
+
<!ENTITY standard.changelog.binary-safe-string-comparison '<row xmlns="http://docbook.org/ns/docbook">
847
+
<entry>8.2.0</entry>
848
+
<entry>
849
+
This function now returns <literal>-1</literal> or <literal>1</literal>,
850
+
where it previously returned a negative or positive number.
851
+
</entry>
852
+
</row>
853
+
'>
854
+

855
+
<!-- FileInfo -->
856
+
<!ENTITY fileinfo.parameters.finfo '<para xmlns="http://docbook.org/ns/docbook">An <classname>finfo</classname> instance, returned by <function>finfo_open</function>.</para>'>
857
+
<!ENTITY fileinfo.changelog.finfo-object '<row xmlns="http://docbook.org/ns/docbook">
858
+
<entry>8.1.0</entry>
859
+
<entry>
860
+
The <parameter>finfo</parameter> parameter expects an <classname>finfo</classname>
861
+
instance now; previously, a &resource; was expected.
862
+
</entry>
863
+
</row>'>
864
+

590
865
<!-- OpenSSL -->
591
866
<!ENTITY openssl.param.x509 '<varlistentry xmlns="http://docbook.org/ns/docbook">
592
867
<term><parameter>x509</parameter></term>
...
...
@@ -628,19 +903,22 @@ PHP is compiled with freetype support (<option role="configure">--with-freetype-
628
903

629
904
<!ENTITY note.gd.interpolation '<note xmlns="http://docbook.org/ns/docbook"><para>This function is affected by the interpolation method set by <function>imagesetinterpolation</function>.</para></note>'>
630
905

631
-
<!ENTITY gd.image.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
632
-
image</parameter></term><listitem><para>An image resource, returned by one of the image creation functions,
906
+
<!ENTITY gd.image.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
907
+
<parameter>image</parameter></term><listitem><para>A <classname>GdImage</classname> object, returned by one of the image creation functions,
633
908
such as <function>imagecreatetruecolor</function>.</para></listitem></varlistentry>'>
634
909

635
-
<!ENTITY gd.font.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
636
-
font</parameter></term><listitem><para>Can be 1, 2, 3, 4, 5 for built-in
637
-
fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your
638
-
own font identifiers registered with <function>imageloadfont</function>.
639
-
</para></listitem></varlistentry>'>
910
+
<!ENTITY gd.font.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
911
+
<parameter>font</parameter></term><listitem><para>Can be 1, 2, 3, 4, 5 for built-in
912
+
fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or <classname>GdFont</classname> instance,
913
+
returned by <function>imageloadfont</function>.</para></listitem></varlistentry>'>
640
914

641
-
<!ENTITY gd.psfont.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
642
-
font_index</parameter></term><listitem><para>A font resource, returned by <function>imagepsloadfont</function>.
643
-
</para></listitem></varlistentry>'>
915
+
<!ENTITY gd.changelog.gdfont-instance '<row xmlns="http://docbook.org/ns/docbook">
916
+
<entry>8.1.0</entry>
917
+
<entry>
918
+
The <parameter>font</parameter> parameter now accepts both an <classname>GdFont</classname> instance
919
+
and an &integer;; previously only &integer; was accepted.
920
+
</entry>
921
+
</row>'>
644
922

645
923
<!ENTITY gd.ttf.fontfile "
646
924
<varlistentry xmlns='http://docbook.org/ns/docbook'>
...
...
@@ -688,7 +966,7 @@ $font = 'SomeFont';
688
966
</varlistentry>
689
967
">
690
968

691
-
<!ENTITY gd.return.identifier 'Returns an image resource identifier on success, &false; on errors.'>
969
+
<!ENTITY gd.return.identifier 'Returns an image object on success, &false; on errors.'>
692
970

693
971
<!ENTITY gd.return.trueonerror '<caution xmlns="http://docbook.org/ns/docbook"><simpara>However, if libgd fails to output the image, this function returns &true;.</simpara></caution>'>
694
972

...
...
@@ -704,7 +982,7 @@ $font = 'SomeFont';
704
982

705
983
<!ENTITY gd.source.width 'Source width.'>
706
984

707
-
<!ENTITY gd.image.path 'The path or an open stream resource (which is automatically being closed after this function returns) to save the file to. If not set or &null;, the raw image stream will be outputted directly.'>
985
+
<!ENTITY gd.image.path 'The path or an open stream resource (which is automatically closed after this function returns) to save the file to. If not set or &null;, the raw image stream will be output directly.'>
708
986

709
987
<!ENTITY gd.image.new 'Create a new image from file or URL'>
710
988

...
...
@@ -774,10 +1052,18 @@ and GD2 image formats are proprietary image formats of libgd. They have to be re
774
1052
<emphasis>obsolete</emphasis>, and should only be used for development and testing
775
1053
purposes.</simpara></warning>'>
776
1054

1055
+
<!ENTITY gd.changelog.image-param '<row xmlns="http://docbook.org/ns/docbook">
1056
+
<entry>8.0.0</entry>
1057
+
<entry>
1058
+
<parameter>image</parameter> expects a <classname>GdImage</classname>
1059
+
instance now; previously, a valid <literal>gd</literal> <type>resource</type> was expected.
1060
+
</entry>
1061
+
</row>'>
1062
+

777
1063
<!-- DBM notes -->
778
1064

779
-
<!ENTITY dbm.dbm-identifier.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
780
-
dbm_identifier</parameter></term><listitem><para>The DBM link identifier,
1065
+
<!ENTITY dbm.dbm-identifier.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
1066
+
<parameter>dbm_identifier</parameter></term><listitem><para>The DBM link identifier,
781
1067
returned by <function>dbmopen</function>.</para></listitem></varlistentry>'>
782
1068

783
1069
<!-- JSON notes -->
...
...
@@ -793,14 +1079,42 @@ returned by <function>dbmopen</function>.</para></listitem></varlistentry>'>
793
1079

794
1080
<!-- cURL notes -->
795
1081

796
-
<!ENTITY curl.ch.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>ch</parameter>
1082
+
<!ENTITY curl.ch.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>handle</parameter>
797
1083
</term><listitem><para>A cURL handle returned by
798
1084
<function>curl_init</function>.</para></listitem></varlistentry>'>
799
1085

800
-
<!ENTITY curl.mh.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>mh</parameter>
1086
+
<!ENTITY curl.mh.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>multi_handle</parameter>
801
1087
</term><listitem><para>A cURL multi handle returned by
802
1088
<function>curl_multi_init</function>.</para></listitem></varlistentry>'>
803
1089

1090
+
<!ENTITY curl.sh.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>share_handle</parameter>
1091
+
</term><listitem><para>A cURL share handle returned by
1092
+
<function>curl_share_init</function>.</para></listitem></varlistentry>'>
1093
+

1094
+
<!ENTITY curl.changelog.handle-param '<row xmlns="http://docbook.org/ns/docbook">
1095
+
<entry>8.0.0</entry>
1096
+
<entry>
1097
+
<parameter>handle</parameter> expects a <classname>CurlHandle</classname>
1098
+
instance now; previously, a <type>resource</type> was expected.
1099
+
</entry>
1100
+
</row>'>
1101
+

1102
+
<!ENTITY curl.changelog.multi-handle-param '<row xmlns="http://docbook.org/ns/docbook">
1103
+
<entry>8.0.0</entry>
1104
+
<entry>
1105
+
<parameter>multi_handle</parameter> expects a <classname>CurlMultiHandle</classname>
1106
+
instance now; previously, a <type>resource</type> was expected.
1107
+
</entry>
1108
+
</row>'>
1109
+

1110
+
<!ENTITY curl.changelog.share-handle-param '<row xmlns="http://docbook.org/ns/docbook">
1111
+
<entry>8.0.0</entry>
1112
+
<entry>
1113
+
<parameter>share_handle</parameter> expects a <classname>CurlShareHandle</classname>
1114
+
instance now; previously, a <type>resource</type> was expected.
1115
+
</entry>
1116
+
</row>'>
1117
+

804
1118
<!-- dbase notes -->
805
1119

806
1120
<!ENTITY dbase.type-conversion '<para xmlns="http://docbook.org/ns/docbook">
...
...
@@ -832,10 +1146,59 @@ returned by <function>dbmopen</function>.</para></listitem></varlistentry>'>
832
1146
</itemizedlist>
833
1147
</para>'>
834
1148

1149
+
<!-- enchant entities -->
1150
+

1151
+
<!ENTITY enchant.param.broker '<varlistentry xmlns="http://docbook.org/ns/docbook">
1152
+
<term><parameter>broker</parameter></term>
1153
+
<listitem>
1154
+
<para>
1155
+
An Enchant broker returned by <function>enchant_broker_init</function>.
1156
+
</para>
1157
+
</listitem>
1158
+
</varlistentry>'>
1159
+

1160
+
<!ENTITY enchant.param.dictionary '<varlistentry xmlns="http://docbook.org/ns/docbook">
1161
+
<term><parameter>dictionary</parameter></term>
1162
+
<listitem>
1163
+
<para>
1164
+
An Enchant dictionary returned by <function>enchant_broker_request_dict</function>
1165
+
or <function>enchant_broker_request_pwl_dict</function>.
1166
+
</para>
1167
+
</listitem>
1168
+
</varlistentry>'>
1169
+

1170
+
<!ENTITY enchant.changelog.broker-param '<row xmlns="http://docbook.org/ns/docbook">
1171
+
<entry>8.0.0</entry>
1172
+
<entry>
1173
+
<parameter>broker</parameter> expects an <classname>EnchantBroker</classname> instance now;
1174
+
previoulsy, a &resource; was expected.
1175
+
</entry>
1176
+
</row>'>
1177
+

1178
+
<!ENTITY enchant.changelog.dictionary-param '<row xmlns="http://docbook.org/ns/docbook">
1179
+
<entry>8.0.0</entry>
1180
+
<entry>
1181
+
<parameter>dictionary</parameter> expects an <classname>EnchantDictionary</classname> instance now;
1182
+
previoulsy, a &resource; was expected.
1183
+
</entry>
1184
+
</row>'>
1185
+

835
1186
<!-- IMAP notes -->
836
1187

837
-
<!ENTITY imap.imap-stream.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
838
-
imap_stream</parameter></term><listitem><para>An IMAP stream returned by
1188
+
<!ENTITY imap.changelog.imap-param '<row xmlns="http://docbook.org/ns/docbook">
1189
+
<entry>8.1.0</entry>
1190
+
<entry>
1191
+
The <parameter>imap</parameter> parameter expects an <classname>IMAP\Connection</classname>
1192
+
instance now; previously, a valid <literal>imap</literal> &resource; was expected.
1193
+
</entry>
1194
+
</row>'>
1195
+

1196
+
<!ENTITY imap.imap-parameter.imap '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
1197
+
<parameter>imap</parameter></term><listitem><para>An <classname>IMAP\Connection</classname> instance.</para></listitem></varlistentry>'>
1198
+

1199
+
<!-- Deprecated -->
1200
+
<!ENTITY imap.imap-stream.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
1201
+
<parameter>imap</parameter></term><listitem><para>An IMAP stream returned by
839
1202
<function>imap_open</function>.</para></listitem></varlistentry>'>
840
1203

841
1204
<!ENTITY imap.pattern '<para xmlns="http://docbook.org/ns/docbook">Specifies where in the mailbox hierarchy
...
...
@@ -858,16 +1221,95 @@ Passing untrusted data to this parameter is <emphasis>insecure</emphasis>, unles
858
1221

859
1222
<!-- intl notes -->
860
1223

861
-
<!ENTITY intl.codepoint.parameter '<para xmlns="http://docbook.org/ns/docbook">The <type>integer</type> codepoint value (e.g. <literal>0x2603</literal> for <emphasis>U+2603 SNOWMAN</emphasis>), or the character encoded as a UTF-8 <type>string</type> (e.g. <literal>"\u{2603}"</literal>)</para>'>
1224
+
<!ENTITY intl.parameter.intl-calendar '<para xmlns="http://docbook.org/ns/docbook">An <classname>IntlCalendar</classname> instance.</para>'>
862
1225

863
-
<!ENTITY intl.codepoint.return '<para xmlns="http://docbook.org/ns/docbook">The return type will be <type>integer</type> unless the code point was passed as a UTF-8 <type>string</type>, in which case a <type>string</type> will be returned.</para>'>
1226
+
<!ENTITY intl.error.intl-calendar '<para xmlns="http://docbook.org/ns/docbook">On failure &false; is also returned. To detect error conditions use <function>intl_get_error_code</function>, or set up Intl to throw <link linkend="ini.intl.use-exceptions">exceptions</link>.</para>'>
1227
+

1228
+
<!ENTITY intl.codepoint.parameter '<para xmlns="http://docbook.org/ns/docbook">The <type>int</type> codepoint value (e.g. <literal>0x2603</literal> for <emphasis>U+2603 SNOWMAN</emphasis>), or the character encoded as a UTF-8 <type>string</type> (e.g. <literal>"\u{2603}"</literal>)</para>'>
1229
+

1230
+
<!ENTITY intl.codepoint.return '<para xmlns="http://docbook.org/ns/docbook">The return type is <type>int</type> unless the code point was passed as a UTF-8 <type>string</type>, in which case a <type>string</type> is returned. Returns &null; on failure.</para>'>
864
1231

865
1232
<!ENTITY intl.codepoint.example 'Testing different code points'>
866
1233

1234
+
<!ENTITY intl.locale-len.return '<para xmlns="http://docbook.org/ns/docbook">Returns &null; when the length of <parameter>locale</parameter> exceeds <constant>INTL_MAX_LOCALE_LEN</constant>.</para>'>
1235
+

867
1236
<!ENTITY intl.property.parameter '<para xmlns="http://docbook.org/ns/docbook">The Unicode property to lookup (see the <literal>IntlChar::PROPERTY_*</literal> constants).</para>'>
868
1237

869
1238
<!ENTITY intl.property.example 'Testing different properties'>
870
1239

1240
+
<!-- LDAP notes -->
1241
+

1242
+
<!ENTITY ldap.parameter.ldap 'An <classname xmlns="http://docbook.org/ns/docbook">LDAP\Connection</classname> instance, returned by <function xmlns="http://docbook.org/ns/docbook">ldap_connect</function>.'>
1243
+

1244
+
<!ENTITY ldap.parameter.result 'An <classname xmlns="http://docbook.org/ns/docbook">LDAP\Result</classname> instance, returned by <function xmlns="http://docbook.org/ns/docbook">ldap_list</function> or <function xmlns="http://docbook.org/ns/docbook">ldap_search</function>.'>
1245
+

1246
+
<!ENTITY ldap.parameter.entry 'An <classname xmlns="http://docbook.org/ns/docbook">LDAP\ResultEntry</classname> instance.'>
1247
+

1248
+
<!ENTITY ldap.warn.control-paged '<warning xmlns="http://docbook.org/ns/docbook">
1249
+
<simpara>
1250
+
This function has been <emphasis>DEPRECATED</emphasis> as of PHP 7.4.0, and <emphasis>REMOVED</emphasis> as of PHP 8.0.0.
1251
+
Instead the <parameter>controls</parameter> parameter of <function>ldap_search</function> should be used.
1252
+
See also <link linkend="ldap.controls">LDAP Controls</link> for details.
1253
+
</simpara>
1254
+
</warning>'>
1255
+

1256
+
<!ENTITY ldap.changelog.controls-nullable '<row xmlns="http://docbook.org/ns/docbook">
1257
+
<entry>8.0.0</entry>
1258
+
<entry>
1259
+
<parameter>controls</parameter> is nullable now; previously, it defaulted to <literal>[]</literal>.
1260
+
</entry>
1261
+
</row>'>
1262
+

1263
+
<!ENTITY ldap.changelog.ldap-object '<row xmlns="http://docbook.org/ns/docbook">
1264
+
<entry>8.1.0</entry>
1265
+
<entry>
1266
+
The <parameter>ldap</parameter> parameter expects an <classname>LDAP\Connection</classname>
1267
+
instance now; previously, a valid <literal>ldap link</literal> &resource; was expected.
1268
+
</entry>
1269
+
</row>'>
1270
+

1271
+
<!ENTITY ldap.changelog.entry-object '<row xmlns="http://docbook.org/ns/docbook">
1272
+
<entry>8.1.0</entry>
1273
+
<entry>
1274
+
The <parameter>entry</parameter> parameter expects an <classname>LDAP\ResultEntry</classname>
1275
+
instance now; previously, a valid <literal>ldap result entry</literal> &resource; was expected.
1276
+
</entry>
1277
+
</row>'>
1278
+

1279
+
<!ENTITY ldap.changelog.result-object '<row xmlns="http://docbook.org/ns/docbook">
1280
+
<entry>8.1.0</entry>
1281
+
<entry>
1282
+
The <parameter>result</parameter> parameter expects an <classname>LDAP\Result</classname>
1283
+
instance now; previously, a valid <literal>ldap result</literal> &resource; was expected.
1284
+
</entry>
1285
+
</row>'>
1286
+

1287
+
<!ENTITY ldap.changelog.return-result-object '<row xmlns="http://docbook.org/ns/docbook">
1288
+
<entry>8.1.0</entry>
1289
+
<entry>
1290
+
Returns an <classname>LDAP\Result</classname> instance now;
1291
+
previously, a &resource; was returned.
1292
+
</entry>
1293
+
</row>'>
1294
+

1295
+
<!ENTITY ldap.changelog.return-result-entry-object '<row xmlns="http://docbook.org/ns/docbook">
1296
+
<entry>8.1.0</entry>
1297
+
<entry>
1298
+
Returns an <classname>LDAP\ResultEntry</classname> instance now;
1299
+
previously, a &resource; was returned.
1300
+
</entry>
1301
+
</row>'>
1302
+

1303
+
<!ENTITY ldap.return-result 'Returns an <classname xmlns="http://docbook.org/ns/docbook">LDAP\Result</classname> instance,&return.falseforfailure;.'>
1304
+
<!ENTITY ldap.return-result-array 'Returns an <classname xmlns="http://docbook.org/ns/docbook">LDAP\Result</classname> instance, an array of <classname xmlns="http://docbook.org/ns/docbook">LDAP\Result</classname> instances,&return.falseforfailure;.'>
1305
+

1306
+
<!ENTITY ldap.return-result-array-info '<para xmlns="http://docbook.org/ns/docbook">It is also possible to perform parallel searches. In this case, the first argument should be an array of
1307
+
<classname>LDAP\Connection</classname> instances, rather than a single one.
1308
+
If the searches should not all use the same base DN and filter, an array of base DNs and/or an array of filters can be passed as arguments instead.
1309
+
These arrays must be of the same size as the <classname>LDAP\Connection</classname> instances array,
1310
+
since the first entries of the arrays are used for one search, the second entries are used for another, and so on.
1311
+
When doing parallel searches an array of <classname>LDAP\Result</classname> instances is returned, except in case of error, when the return value will be &false;.</para>'>
1312
+

871
1313
<!-- mbstring notes -->
872
1314

873
1315
<!ENTITY note.mbstring.encoding.internal '<note xmlns="http://docbook.org/ns/docbook"><para>The internal encoding or the
...
...
@@ -879,11 +1321,25 @@ character encoding specified by <function>mb_regex_encoding</function>
879
1321
will be used as the character encoding for this function by default.</para></note>'>
880
1322

881
1323
<!ENTITY mbstring.encoding.parameter '<para xmlns="http://docbook.org/ns/docbook">The <parameter>encoding</parameter>
882
-
parameter is the character encoding. If it is omitted, the internal character
1324
+
parameter is the character encoding. If it is omitted or &null;, the internal character
883
1325
encoding value will be used.</para>'>
884
1326

885
1327
<!ENTITY mbstring.warning.e-modifier '<warning xmlns="http://docbook.org/ns/docbook"><para>Never use the <literal>e</literal> modifier when working on untrusted input. No automatic escaping will happen (as known from <function>preg_replace</function>). Not taking care of this will most likely create remote code execution vulnerabilities in your application.</para></warning>'>
886
1328

1329
+
<!ENTITY mbstring.changelog.encoding-nullable '<row xmlns="http://docbook.org/ns/docbook">
1330
+
<entry>8.0.0</entry>
1331
+
<entry>
1332
+
<parameter>encoding</parameter> is nullable now.
1333
+
</entry>
1334
+
</row>'>
1335
+

1336
+
<!ENTITY mbstring.changelog.needle-empty '<row xmlns="http://docbook.org/ns/docbook">
1337
+
<entry>8.0.0</entry>
1338
+
<entry>
1339
+
<parameter>needle</parameter> now accepts an empty string.
1340
+
</entry>
1341
+
</row>'>
1342
+

887
1343
<!-- mcrypt notes -->
888
1344

889
1345
<!ENTITY mcrypt.parameter.cipher '<para xmlns="http://docbook.org/ns/docbook">One of the <constant>MCRYPT_ciphername</constant> constants, or the name of the algorithm as string.</para>'>
...
...
@@ -896,12 +1352,20 @@ encoding value will be used.</para>'>
896
1352

897
1353
<!-- MCVE notes -->
898
1354

899
-
<!ENTITY mcve.conn.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
900
-
conn</parameter></term><listitem><para>An MCVE_CONN resource returned by
1355
+
<!ENTITY mcve.conn.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
1356
+
<parameter>conn</parameter></term><listitem><para>An MCVE_CONN resource returned by
901
1357
<function>m_initengine</function>.</para></listitem></varlistentry>'>
902
1358

903
1359
<!-- memcached notes -->
904
1360

1361
+
<!ENTITY memcached.note.delete-time '<note xmlns="http://docbook.org/ns/docbook"><simpara>
1362
+
As of memcached 1.3.0 (released 2009) this feature is no longer
1363
+
supported. Passing a non-zero <parameter>time</parameter> will cause
1364
+
the deletion to fail. <methodname>Memcached::getResultCode</methodname>
1365
+
will return <constant>MEMCACHED_INVALID_ARGUMENTS</constant>.
1366
+
</simpara></note>
1367
+
'>
1368
+

905
1369
<!ENTITY memcached.parameter.expiration 'The expiration time, defaults to 0. See <link
906
1370
linkend="memcached.expiration" xmlns="http://docbook.org/ns/docbook">Expiration Times</link> for more info.'>
907
1371

...
...
@@ -915,6 +1379,19 @@ conn</parameter></term><listitem><para>An MCVE_CONN resource returned by
915
1379

916
1380
<!ENTITY memcached.result.getresultcode 'Use <methodname xmlns="http://docbook.org/ns/docbook">Memcached::getResultCode</methodname> if necessary.'>
917
1381

1382
+
<!ENTITY memcached.result.delete-multi '<para xmlns="http://docbook.org/ns/docbook">
1383
+
Returns an array indexed by <parameter>keys</parameter>. Each element
1384
+
is &true; if the corresponding key was deleted, or one of the
1385
+
<constant>Memcached::RES_*</constant> constants if the corresponding deletion
1386
+
failed.
1387
+
</para>
1388
+
<para xmlns="http://docbook.org/ns/docbook">
1389
+
The <methodname>Memcached::getResultCode</methodname> will return
1390
+
the result code for the last executed delete operation, that is, the delete
1391
+
operation for the last element of <parameter>keys</parameter>.
1392
+
</para>
1393
+
'>
1394
+

918
1395
<!-- password notes -->
919
1396

920
1397
<!ENTITY password.parameter.algo 'A <link xmlns="http://docbook.org/ns/docbook" linkend="password.constants">password algorithm constant</link> denoting the algorithm to use when hashing the password.'>
...
...
@@ -925,6 +1402,54 @@ conn</parameter></term><listitem><para>An MCVE_CONN resource returned by
925
1402

926
1403
<!ENTITY password.parameter.password 'The user&apos;s password.'>
927
1404

1405
+
<!-- pspell notes -->
1406
+

1407
+
<!ENTITY pspell.changelog.pspell-dictionary '<row xmlns="http://docbook.org/ns/docbook">
1408
+
<entry>8.1.0</entry>
1409
+
<entry>
1410
+
The <parameter>dictionary</parameter> parameter expects an <classname>PSpell\Dictionary</classname>
1411
+
instance now; previously, a &resource; was expected.
1412
+
</entry>
1413
+
</row>'>
1414
+

1415
+
<!ENTITY pspell.changelog.pspell-config '<row xmlns="http://docbook.org/ns/docbook">
1416
+
<entry>8.1.0</entry>
1417
+
<entry>
1418
+
The <parameter>config</parameter> parameter expects an <classname>PSpell\Config</classname>
1419
+
instance now; previously, a &resource; was expected.
1420
+
</entry>
1421
+
</row>'>
1422
+

1423
+
<!ENTITY pspell.parameter.pspell-dictionary '<para xmlns="http://docbook.org/ns/docbook">An <classname>PSpell\Dictionary</classname> instance.</para>'>
1424
+

1425
+
<!ENTITY pspell.parameter.pspell-config '<para xmlns="http://docbook.org/ns/docbook">An <classname>PSpell\Config</classname> instance.</para>'>
1426
+

1427
+
<!-- RNP -->
1428
+

1429
+
<!ENTITY rnp.parameter.ffi-description 'The FFI object returned by rnp_ffi_create.'>
1430
+

1431
+
<!ENTITY rnp.parameter.key-format 'The key format of the data (GPG, KBX, G10).'>
1432
+

1433
+
<!ENTITY rnp.parameter.loadsave-flags 'See RNP_LOAD_SAVE_* flags description.'>
1434
+

1435
+
<!-- socket entities -->
1436
+

1437
+
<!ENTITY sockets.changelog.socket-param '<row xmlns="http://docbook.org/ns/docbook">
1438
+
<entry>8.0.0</entry>
1439
+
<entry>
1440
+
<parameter>socket</parameter> is a <classname>Socket</classname> instance now;
1441
+
previously, it was a <type>resource</type>.
1442
+
</entry>
1443
+
</row>'>
1444
+

1445
+
<!ENTITY sockets.changelog.address-param '<row xmlns="http://docbook.org/ns/docbook">
1446
+
<entry>8.0.0</entry>
1447
+
<entry>
1448
+
<parameter>address</parameter> is an <classname>AddressInfo</classname> instance now;
1449
+
previously, it was a <type>resource</type>.
1450
+
</entry>
1451
+
</row>'>
1452
+

928
1453
<!-- geaman notes -->
929
1454

930
1455
<!ENTITY gearman.parameter.host 'The job server host name.'>
...
...
@@ -956,6 +1481,7 @@ installed via PECL's <link xlink:href='&url.pecl.package.get;timezonedb' xmlns:x
956
1481

957
1482
<!ENTITY date.timezone.bc '<simpara xmlns="http://docbook.org/ns/docbook">Please do not use any of the timezones
958
1483
listed here (besides UTC), they only exist for backward compatible reasons, and may expose erroneous behavior.
1484
+
Furthermore, these timezones may be removed from the IANA timezone database at any time.
959
1485
</simpara>'>
960
1486

961
1487
<!ENTITY date.timezone.posix-signs '<simpara xmlns="http://docbook.org/ns/docbook">
...
...
@@ -983,11 +1509,8 @@ It is strongly recommended to avoid timezone abbreviations.
983
1509
</simpara>'>
984
1510

985
1511
<!ENTITY date.timezone.errors.description '<para xmlns="http://docbook.org/ns/docbook">
986
-
Every call to a date/time function will generate a <constant>E_NOTICE</constant>
987
-
if the time zone is not valid, and/or a <constant>E_STRICT</constant>
988
-
or <constant>E_WARNING</constant> message
989
-
if using the system settings or the <varname>TZ</varname> environment
990
-
variable. See also <function>date_default_timezone_set</function></para>'>
1512
+
Every call to a date/time function will generate a <constant>E_WARNING</constant>
1513
+
if the time zone is not valid. See also <function>date_default_timezone_set</function></para>'>
991
1514

992
1515
<!ENTITY date.timezone.errors.changelog '<row xmlns="http://docbook.org/ns/docbook"><entry>5.1.0</entry><entry><para>
993
1516
Now issues the <constant>E_STRICT</constant> and <constant>E_NOTICE</constant>
...
...
@@ -996,8 +1519,8 @@ time zone errors.</para></entry></row>'>
996
1519
<!ENTITY date.timestamp.description '
997
1520
<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>timestamp</parameter></term><listitem><para>
998
1521
The optional <parameter>timestamp</parameter> parameter is an
999
-
<type>integer</type> Unix timestamp that defaults to the current
1000
-
local time if a <parameter>timestamp</parameter> is not given. In other
1522
+
<type>int</type> Unix timestamp that defaults to the current
1523
+
local time if <parameter>timestamp</parameter> is omitted or &null;. In other
1001
1524
words, it defaults to the value of <function>time</function>.
1002
1525
</para></listitem></varlistentry>'>
1003
1526

...
...
@@ -1010,11 +1533,14 @@ returned by <function>date_create</function></para></listitem></varlistentry>'>
1010
1533
returned by <function>date_create</function>.
1011
1534
The function modifies this object.</para></listitem></varlistentry>'>
1012
1535

1013
-
<!ENTITY date.datetimezone.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1014
-
object</parameter></term><listitem><para>Procedural style only: A <classname>DateTimeZone</classname> object
1536
+
<!ENTITY date.datetimezone.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
1537
+
<parameter>object</parameter></term><listitem><para>Procedural style only: A <classname>DateTimeZone</classname> object
1015
1538
returned by <function>timezone_open</function></para></listitem></varlistentry>'>
1016
1539

1017
-
<!ENTITY date.datetime.return.modifiedobjectorfalseforfailure 'Returns the <classname xmlns="http://docbook.org/ns/docbook">DateTime</classname> object for method chaining&return.falseforfailure;.'>
1540
+
<!ENTITY date.datetime.return.modifiedobjectorfalseforfailure 'Returns the modified <classname xmlns="http://docbook.org/ns/docbook">DateTime</classname> object for method chaining&return.falseforfailure;.'>
1541
+
<!ENTITY date.datetime.return.modifiedobject 'Returns the modified <classname xmlns="http://docbook.org/ns/docbook">DateTime</classname> object for method chaining.'>
1542
+
<!ENTITY date.datetimeimmutable.return.modifiedobjectorfalseforfailure 'Returns a new <classname xmlns="http://docbook.org/ns/docbook">DateTimeImmutable</classname> object with the modified data &return.falseforfailure;.'>
1543
+
<!ENTITY date.datetimeimmutable.return.modifiedobject 'Returns a new <classname xmlns="http://docbook.org/ns/docbook">DateTimeImmutable</classname> object with the modified data.'>
1018
1544

1019
1545
<!ENTITY date.timezone.dbversion 'This list is based upon the timezone database version'>
1020
1546

...
...
@@ -1043,9 +1569,8 @@ is inserted with (e.g.) <function xmlns="http://docbook.org/ns/docbook">domnode_
1043
1569
<!ENTITY dom.node.inserted 'This node will not show up in the document unless
1044
1570
it is inserted with (e.g.) <function xmlns="http://docbook.org/ns/docbook">DOMNode::appendChild</function>.'>
1045
1571

1046
-
<!ENTITY dom.allowstatic '<para xmlns="http://docbook.org/ns/docbook">This method <emphasis>may</emphasis> be called statically, but will issue an <constant>E_STRICT</constant> error.</para>'>
1047
1572
<!ENTITY dom.malformederror '<para xmlns="http://docbook.org/ns/docbook">While malformed HTML should load successfully, this function may generate <constant>E_WARNING</constant> errors when it encounters bad markup. <link linkend="function.libxml-use-internal-errors">libxml&apos;s error handling functions</link> may be used to handle these errors.</para>'>
1048
-
<!ENTITY dom.note.utf8 '<note xmlns="http://docbook.org/ns/docbook"><para>The DOM extension uses UTF-8 encoding. Use <function>utf8_encode</function> and <function>utf8_decode</function> to work with texts in ISO-8859-1 encoding or <link linkend="ref.iconv">iconv</link> for other encodings.</para></note>'>
1573
+
<!ENTITY dom.note.utf8 '<note xmlns="http://docbook.org/ns/docbook"><para>The DOM extension uses UTF-8 encoding. Use <function>mb_convert_encoding</function>, <methodname>UConverter::transcode</methodname>, or <function>iconv</function> to handle other encodings.</para></note>'>
1049
1574
<!ENTITY dom.note.json '<note xmlns="http://docbook.org/ns/docbook"><para>When using <function>json_encode</function> on a <classname>DOMDocument</classname> object the result will be that of encoding an empty object.</para></note>'>
1050
1575

1051
1576

...
...
@@ -1084,6 +1609,58 @@ it is inserted with (e.g.) <function xmlns="http://docbook.org/ns/docbook">DOMNo
1084
1609
</books>
1085
1610
]]></programlisting>'>
1086
1611

1612
+
<!-- Dom entities -->
1613
+
<!ENTITY dom.parameter.options '<para xmlns="http://docbook.org/ns/docbook">
1614
+
<link linkend="language.operators.bitwise">Bitwise <literal>OR</literal></link>
1615
+
of the <link linkend="libxml.constants">libxml option constants</link>.
1616
+
</para>'>
1617
+

1618
+
<!ENTITY dom.parameters.register_node_ns '<varlistentry xmlns="http://docbook.org/ns/docbook">
1619
+
<term><parameter>registerNodeNS</parameter></term>
1620
+
<listitem>
1621
+
<para>
1622
+
Whether to automatically register the in-scope namespace prefixes of the context node to the <classname>DOMXPath</classname> object.
1623
+
This can be used to avoid needing to call <methodname>DOMXPath::registerNamespace</methodname> manually for each in-scope namespaces.
1624
+
When a namespace prefix conflict exists, only the nearest descendant namespace prefix is registered.
1625
+
</para>
1626
+
</listitem>
1627
+
</varlistentry>'>
1628
+

1629
+
<!ENTITY dom.errors.hierarchy.parent '<varlistentry xmlns="http://docbook.org/ns/docbook">
1630
+
<term><constant>DOM_HIERARCHY_REQUEST_ERR</constant></term>
1631
+
<listitem>
1632
+
<para>
1633
+
Raised if the parent is of a type that does not allow children of the
1634
+
type of one of the passed <parameter>nodes</parameter>, or if the node to
1635
+
put in is one of this node&#39;s ancestors or this node itself.
1636
+
</para>
1637
+
</listitem>
1638
+
</varlistentry>'>
1639
+

1640
+
<!ENTITY dom.errors.hierarchy.self '<varlistentry xmlns="http://docbook.org/ns/docbook">
1641
+
<term><constant>DOM_HIERARCHY_REQUEST_ERR</constant></term>
1642
+
<listitem>
1643
+
<para>
1644
+
Raised if this node is of a type that does not allow children of the
1645
+
type of one of the passed <parameter>nodes</parameter>, or if the node to
1646
+
put in is one of this node&#39;s ancestors or this node itself.
1647
+
</para>
1648
+
</listitem>
1649
+
</varlistentry>'>
1650
+

1651
+
<!ENTITY dom.errors.wrong_document '<varlistentry xmlns="http://docbook.org/ns/docbook">
1652
+
<term><constant>DOM_WRONG_DOCUMENT_ERR</constant></term>
1653
+
<listitem>
1654
+
<para>
1655
+
Raised if one of the passed <parameter>nodes</parameter> was created from a different
1656
+
document than the one that created this node.
1657
+
</para>
1658
+
</listitem>
1659
+
</varlistentry>'>
1660
+

1661
+
<!ENTITY dom.changelog.previous_hierarchy_exception 'Previously this threw a
1662
+
<classname xmlns="http://docbook.org/ns/docbook">DOMException</classname> with code
1663
+
<constant xmlns="http://docbook.org/ns/docbook">DOM_HIERARCHY_REQUEST_ERR</constant>.'>
1087
1664

1088
1665
<!-- FileSystem entities -->
1089
1666
<!ENTITY fs.emits.warning.on.failure '<para xmlns="http://docbook.org/ns/docbook">
...
...
@@ -1150,7 +1727,7 @@ string</link>, or a Connect Name from
1150
1727
the <filename>tnsnames.ora</filename> file, or the name of a local
1151
1728
Oracle instance.
1152
1729
</para>
1153
-
<para xmlns='http://docbook.org/ns/docbook'>If not specified, PHP uses
1730
+
<para xmlns='http://docbook.org/ns/docbook'>If not specified or &null;, PHP uses
1154
1731
environment variables such as <constant>TWO_TASK</constant> (on Linux)
1155
1732
or <constant>LOCAL</constant> (on Windows)
1156
1733
and <constant>ORACLE_SID</constant> to determine the
...
...
@@ -1163,18 +1740,18 @@ To use the Easy Connect naming method, PHP must be linked with Oracle
1163
1740
<emphasis>[//]host_name[:port][/service_name]</emphasis>. From Oracle
1164
1741
11<emphasis>g</emphasis>, the syntax is:
1165
1742
<emphasis>[//]host_name[:port][/service_name][:server_type][/instance_name]</emphasis>.
1166
-
Service names can be found by running the Oracle
1167
-
utility <literal>lsnrctl status</literal> on the database server
1743
+
Further options were introduced with Oracle 19c, including timeout and keep-alive
1744
+
settings. Refer to Oracle documentation. Service names can be found by running
1745
+
the Oracle utility <literal>lsnrctl status</literal> on the database server
1168
1746
machine.
1169
1747
</para>
1170
1748
<para xmlns='http://docbook.org/ns/docbook'>
1171
-
The <filename>tnsnames.ora</filename> file can be in the Oracle Net
1172
-
search path, which
1173
-
includes <filename>$ORACLE_HOME/network/admin</filename>
1174
-
and <filename>/etc</filename>. Alternatively
1175
-
set <literal>TNS_ADMIN</literal> so
1176
-
that <filename>$TNS_ADMIN/tnsnames.ora</filename> is read. Make sure
1177
-
the web daemon has read access to the file.
1749
+
The <filename>tnsnames.ora</filename> file can be in the Oracle Net search path,
1750
+
which
1751
+
includes <filename>/your/path/to/instantclient/network/admin</filename>, <filename>$ORACLE_HOME/network/admin</filename>
1752
+
and <filename>/etc</filename>. Alternatively set <literal>TNS_ADMIN</literal>
1753
+
so that <filename>$TNS_ADMIN/tnsnames.ora</filename> is read. Make sure the web
1754
+
daemon has read access to the file.
1178
1755
</para>">
1179
1756

1180
1757
<!ENTITY oci.charset "<para xmlns='http://docbook.org/ns/docbook'>Determines
...
...
@@ -1291,7 +1868,8 @@ linkend="ini.open-basedir">open_basedir</link>.</para></note>'>
1291
1868

1292
1869
<!ENTITY note.language-construct '<note xmlns="http://docbook.org/ns/docbook"><simpara>Because this is a
1293
1870
language construct and not a function, it cannot be called using
1294
-
<link linkend="functions.variable-functions">variable functions</link>.</simpara>
1871
+
<link linkend="functions.variable-functions">variable functions</link>,
1872
+
or <link linkend="functions.named-arguments">named arguments</link>.</simpara>
1295
1873
</note>'>
1296
1874

1297
1875
<!-- Common pieces in features/safe-mode.xml
...
...
@@ -1343,7 +1921,7 @@ The behaviour of these functions is affected by settings in &php.ini;.
1343
1921
</simpara>'>
1344
1922

1345
1923
<!ENTITY ini.php.constants 'For further details and definitions of the
1346
-
PHP_INI_* modes, see the <xref xmlns="http://docbook.org/ns/docbook" linkend="configuration.changes.modes"/>.'>
1924
+
INI_* modes, see the <xref xmlns="http://docbook.org/ns/docbook" linkend="configuration.changes.modes"/>.'>
1347
1925

1348
1926
<!-- Used in reference/$extname/constants.xml -->
1349
1927
<!ENTITY extension.constants '<simpara xmlns="http://docbook.org/ns/docbook">
...
...
@@ -1379,12 +1957,21 @@ driver, if your code can run against multiple drivers.</simpara>'>
1379
1957

1380
1958
<!ENTITY pdo.errors.exception-not-errmode '<note xmlns="http://docbook.org/ns/docbook"><simpara>An exception is raised even when the <constant>PDO::ATTR_ERRMODE</constant> attribute is not <constant>PDO::ERRMODE_EXCEPTION</constant>.</simpara></note>'>
1381
1959

1960
+
<!-- PDO errors -->
1961
+

1962
+
<!ENTITY pdo.errors '<para xmlns="http://docbook.org/ns/docbook">
1963
+
Emits an error with level <constant>E_WARNING</constant> if the attribute <constant>PDO::ATTR_ERRMODE</constant> is set
1964
+
to <constant>PDO::ERRMODE_WARNING</constant>.
1965
+
</para>
1966
+
<para xmlns="http://docbook.org/ns/docbook">
1967
+
Throws a <classname>PDOException</classname> if the attribute <constant>PDO::ATTR_ERRMODE</constant>
1968
+
is set to <constant>PDO::ERRMODE_EXCEPTION</constant>.
1969
+
</para>'>
1970
+

1382
1971
<!-- PECL entities -->
1383
-
<!ENTITY pecl.moved 'This <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&url.pecl;">PECL</link> extension
1384
-
is not bundled with PHP.'>
1972
+
<!ENTITY pecl.moved 'This &link.pecl; extension is not bundled with PHP.'>
1385
1973

1386
-
<!ENTITY pecl.bundled 'This <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&url.pecl;">PECL</link> extension
1387
-
is bundled with PHP.'>
1974
+
<!ENTITY pecl.bundled 'This &link.pecl; extension is bundled with PHP.'>
1388
1975

1389
1976
<!ENTITY pecl.info 'Information for installing this PECL extension may be
1390
1977
found in the manual chapter titled <link xmlns="http://docbook.org/ns/docbook" linkend="install.pecl">Installation
...
...
@@ -1402,7 +1989,7 @@ this extension is still available within <acronym xmlns="http://docbook.org/ns/d
1402
1989

1403
1990
<!ENTITY pecl.windows.download 'A <acronym xmlns="http://docbook.org/ns/docbook">DLL</acronym> for this
1404
1991
<acronym xmlns="http://docbook.org/ns/docbook">PECL</acronym> extension is currently unavailable. See also the
1405
-
<link xmlns="http://docbook.org/ns/docbook" linkend="install.windows.legacy.building">building on Windows</link>
1992
+
<link xmlns="http://docbook.org/ns/docbook" linkend="install.windows.building">building on Windows</link>
1406
1993
section.'>
1407
1994

1408
1995
<!ENTITY pecl.windows.download.avail 'Windows binaries (<acronym xmlns="http://docbook.org/ns/docbook">DLL</acronym> files)
...
...
@@ -1410,75 +1997,138 @@ for this <acronym xmlns="http://docbook.org/ns/docbook">PECL</acronym> extension
1410
1997

1411
1998
<!ENTITY pecl.windows.download.unbundled '&pecl.windows.download;'>
1412
1999

1413
-
<!ENTITY pecl.moved-ver 'This extension has been moved to the
1414
-
<link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&url.pecl;">PECL</link> repository and is no longer bundled with
1415
-
PHP as of PHP '>
2000
+
<!ENTITY pecl.moved-ver 'This extension has been moved to the &link.pecl;
2001
+
repository and is no longer bundled with PHP as of PHP '>
1416
2002

1417
-
<!-- Common pieces for reference part END -->
2003
+
<!-- PGSQL entities -->
1418
2004

2005
+
<!ENTITY pgsql.parameter.connection '<para xmlns="http://docbook.org/ns/docbook">An <classname>PgSql\Connection</classname> instance.</para>'>
1419
2006

1420
-
<!ENTITY windows.builtin '<simpara xmlns="http://docbook.org/ns/docbook">The Windows version of PHP has built-in
1421
-
support for this extension. You do not need to load any additional
1422
-
extensions in order to use these functions.</simpara>'>
2007
+
<!ENTITY pgsql.parameter.connection-with-unspecified-default '<para xmlns="http://docbook.org/ns/docbook">An <classname>PgSql\Connection</classname> instance.
2008
+
When <parameter>connection</parameter> is unspecified, the default connection is used.
2009
+
The default connection is the last connection made by <function>pg_connect</function>
2010
+
or <function>pg_pconnect</function>.
2011
+
<warning><simpara>As of PHP 8.1.0, using the default connection is deprecated.</simpara></warning></para>'>
1423
2012

1424
-
<!-- These are here as helpers for manual consistency and brievety-->
1425
-
<!ENTITY safemode '<link xmlns="http://docbook.org/ns/docbook" linkend="ini.safe-mode">safe mode</link>'>
2013
+
<!ENTITY pgsql.parameter.connection-with-nullable-default '<para xmlns="http://docbook.org/ns/docbook">An <classname>PgSql\Connection</classname> instance.
2014
+
When <parameter>connection</parameter> is &null;, the default connection is used.
2015
+
The default connection is the last connection made by <function>pg_connect</function>
2016
+
or <function>pg_pconnect</function>.
2017
+
<warning><simpara>As of PHP 8.1.0, using the default connection is deprecated.</simpara></warning></para>'>
1426
2018

1427
-
<!ENTITY sqlsafemode '<link xmlns="http://docbook.org/ns/docbook" linkend="ini.sql.safe-mode">SQL safe mode</link>'>
2019
+
<!ENTITY pgsql.parameter.result '<para xmlns="http://docbook.org/ns/docbook">An <classname>PgSql\Result</classname> instance, returned by <function>pg_query</function>,
2020
+
<function>pg_query_params</function> or <function>pg_execute</function>(among others).</para>'>
1428
2021

1429
-
<!-- APD Notes -->
1430
-
<!ENTITY apd.debug-level.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1431
-
debug_level</parameter></term><listitem><para>An integer which is formed by adding
1432
-
together the <literal>XXX_TRACE</literal> constants.</para><para>It is not recommended
1433
-
to use <constant>MEMORY_TRACE</constant>. It is very slow and does not appear to be accurate.
1434
-
<constant>ASSIGNMENT_TRACE</constant> is not implemented yet.</para><para>To turn on all
2022
+
<!ENTITY pgsql.parameter.lob '<para xmlns="http://docbook.org/ns/docbook">An <classname>PgSql\Lob</classname> instance, returned by <function>pg_lo_open</function>.</para>'>
2023
+

2024
+
<!ENTITY pgsql.parameter.mode '<para xmlns="http://docbook.org/ns/docbook">
2025
+
An optional parameter that controls how the returned <type>array</type> is indexed.
2026
+
<parameter>mode</parameter> is a constant and can take the following values:
2027
+
<constant>PGSQL_ASSOC</constant>, <constant>PGSQL_NUM</constant> and <constant>PGSQL_BOTH</constant>.
2028
+
Using <constant>PGSQL_NUM</constant>, the function will return an array with numerical indices,
2029
+
using <constant>PGSQL_ASSOC</constant> it will return only associative indices
2030
+
while <constant>PGSQL_BOTH</constant> will return both numerical and associative indices.</para>'>
2031
+

2032
+
<!ENTITY pgsql.changelog.connection-object '<row xmlns="http://docbook.org/ns/docbook">
2033
+
<entry>8.1.0</entry>
2034
+
<entry>
2035
+
The <parameter>connection</parameter> parameter expects an <classname>PgSql\Connection</classname>
2036
+
instance now; previously, a &resource; was expected.
2037
+
</entry>
2038
+
</row>'>
2039
+

2040
+
<!ENTITY pgsql.changelog.result-object '<row xmlns="http://docbook.org/ns/docbook">
2041
+
<entry>8.1.0</entry>
2042
+
<entry>
2043
+
The <parameter>result</parameter> parameter expects an <classname>PgSql\Result</classname>
2044
+
instance now; previously, a &resource; was expected.
2045
+
</entry>
2046
+
</row>'>
2047
+

2048
+
<!ENTITY pgsql.changelog.lob-object '<row xmlns="http://docbook.org/ns/docbook">
2049
+
<entry>8.1.0</entry>
2050
+
<entry>
2051
+
The <parameter>lob</parameter> parameter expects an <classname>PgSql\Lob</classname>
2052
+
instance now; previously, a &resource; was expected.
2053
+
</entry>
2054
+
</row>'>
2055
+

2056
+
<!ENTITY pgsql.changelog.return-result-object '<row xmlns="http://docbook.org/ns/docbook">
2057
+
<entry>8.1.0</entry>
2058
+
<entry>
2059
+
Returns an <classname>PgSql\Result</classname> instance now;
2060
+
previously, a &resource; was returned.
2061
+
</entry>
2062
+
</row>'>
2063
+

2064
+
<!-- Common pieces for reference part END -->
2065
+

2066
+

2067
+
<!ENTITY windows.builtin '<simpara xmlns="http://docbook.org/ns/docbook">The Windows version of PHP has built-in
2068
+
support for this extension. You do not need to load any additional
2069
+
extensions in order to use these functions.</simpara>'>
2070
+

2071
+
<!-- These are here as helpers for manual consistency and brievety-->
2072
+
<!ENTITY safemode '<link xmlns="http://docbook.org/ns/docbook" linkend="ini.safe-mode">safe mode</link>'>
2073
+

2074
+
<!ENTITY sqlsafemode '<link xmlns="http://docbook.org/ns/docbook" linkend="ini.sql.safe-mode">SQL safe mode</link>'>
2075
+

2076
+
<!-- APD Notes -->
2077
+
<!ENTITY apd.debug-level.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
2078
+
<parameter>debug_level</parameter></term><listitem><para>An integer which is formed by adding
2079
+
together the <literal>XXX_TRACE</literal> constants.</para><para>It is not recommended
2080
+
to use <constant>MEMORY_TRACE</constant>. It is very slow and does not appear to be accurate.
2081
+
<constant>ASSIGNMENT_TRACE</constant> is not implemented yet.</para><para>To turn on all
1435
2082
functional traces (TIMING, FUNCTIONS, ARGS SUMMARY (like strace -c)) use the value 99</para>
1436
2083
</listitem></varlistentry>'>
1437
2084

1438
2085
<!-- BCMath Notes -->
1439
-
<!ENTITY bc.scale.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1440
-
scale</parameter></term><listitem><para>This optional parameter is used to set the number
2086
+
<!ENTITY bc.scale.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
2087
+
<parameter>scale</parameter></term><listitem><para>This optional parameter is used to set the number
1441
2088
of digits after the decimal place in the result. If omitted, it will default to the scale set
1442
2089
globally with the <function>bcscale</function> function, or fallback to <literal>0</literal> if
1443
2090
this has not been set.</para></listitem></varlistentry>'>
1444
2091

1445
2092
<!-- CTYPE Notes -->
1446
2093
<!ENTITY note.ctype.parameter.integer '<note xmlns="http://docbook.org/ns/docbook"><para>
1447
-
If an <type>integer</type> between -128 and 255 inclusive is provided, it is interpreted as
2094
+
If an <type>int</type> between -128 and 255 inclusive is provided, it is interpreted as
1448
2095
the ASCII value of a single character (negative values have 256 added in order to allow
1449
2096
characters in the Extended ASCII range). Any other integer is interpreted as a string
1450
2097
containing the decimal digits of the integer.</para></note>'>
1451
2098

1452
-
<!-- FBSQL Notes -->
1453
-
<!ENTITY fbsql.link-identifier.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1454
-
link_identifier</parameter></term><listitem><para>A FrontBase link identifier
1455
-
returned by <function>fbsql_connect</function> or
1456
-
<function>fbsql_pconnect</function>.</para><para>If optional and not specified,
1457
-
the function will try to find an open link to the FrontBase server and if no
1458
-
such link is found it will try to create one as if
1459
-
<function>fbsql_connect</function> was called with no arguments.</para>
1460
-
</listitem></varlistentry>'>
1461
-

1462
-
<!ENTITY fbsql.result.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1463
-
result</parameter></term><listitem><para>A result identifier
1464
-
returned by <function>fbsql_query</function> or
1465
-
<function>fbsql_db_query</function>.</para></listitem></varlistentry>'>
2099
+
<!ENTITY note.ctype.parameter.non-string '<warning xmlns="http://docbook.org/ns/docbook"><para>
2100
+
As of PHP 8.1.0, passing a non-string argument is deprecated.
2101
+
In the future, the argument will be interpreted as a string instead of an ASCII codepoint.
2102
+
Depending on the intended behavior, the argument should either be cast to &string;
2103
+
or an explicit call to <function>chr</function> should be made.</para></warning>'>
2104
+

2105
+
<!ENTITY ctype.result.empty-string 'When called with an empty string the result will always be &false;.'>
2106
+

2107
+
<!-- FTP Notes -->
2108
+
<!ENTITY ftp.changelog.ftp-param '<row xmlns="http://docbook.org/ns/docbook">
2109
+
<entry>8.1.0</entry>
2110
+
<entry>
2111
+
The <parameter>ftp</parameter> parameter expects an <classname>FTP\Connection</classname>
2112
+
instance now; previously, a &resource; was expected.
2113
+
</entry>
2114
+
</row>'>
2115
+
<!ENTITY ftp.parameter.ftp '<para xmlns="http://docbook.org/ns/docbook">An <classname>FTP\Connection</classname> instance.</para>'>
1466
2116

1467
2117
<!-- GMP Notes -->
1468
-
<!ENTITY gmp.return 'A GMP number <type xmlns="http://docbook.org/ns/docbook">resource</type> in PHP 5.5 and earlier, or a <classname xmlns="http://docbook.org/ns/docbook">GMP</classname> object in PHP 5.6 and later.'>
1469
-
<!ENTITY gmp.parameter '<para xmlns="http://docbook.org/ns/docbook">Either a GMP number <type>resource</type> in PHP 5.5 and earlier, a <classname>GMP</classname> object in PHP 5.6 and later, or a numeric string provided that it is possible to convert the latter to a number.</para>'>
2118
+
<!ENTITY gmp.return 'A <classname xmlns="http://docbook.org/ns/docbook">GMP</classname> object.'>
2119
+
<!ENTITY gmp.parameter '<para xmlns="http://docbook.org/ns/docbook">A <classname>GMP</classname> object, an &integer; or a numeric &string;.</para>'>
1470
2120

1471
2121
<!-- MySQLi Notes -->
1472
-
<!ENTITY mysqli.result.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1473
-
result</parameter></term><listitem><para>Procedural style only: A result set
1474
-
identifier returned by <function>mysqli_query</function>, <function>mysqli_store_result</function>
1475
-
or <function>mysqli_use_result</function>.</para></listitem></varlistentry>'>
1476
-
<!ENTITY mysqli.link.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1477
-
link</parameter></term><listitem><para>Procedural style only: A link identifier
2122
+
<!ENTITY mysqli.result.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
2123
+
<parameter>result</parameter></term><listitem><para>Procedural style only: A <classname>mysqli_result</classname>
2124
+
object returned by <function>mysqli_query</function>, <function>mysqli_store_result</function>,
2125
+
<function>mysqli_use_result</function> or <function>mysqli_stmt_get_result</function>.</para></listitem></varlistentry>'>
2126
+
<!ENTITY mysqli.link.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
2127
+
<parameter>mysql</parameter></term><listitem><para>Procedural style only: A <classname>mysqli</classname> object
1478
2128
returned by <function>mysqli_connect</function> or <function>mysqli_init</function>
1479
2129
</para></listitem></varlistentry>'>
1480
-
<!ENTITY mysqli.stmt.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1481
-
stmt</parameter></term><listitem><para>Procedural style only: A statement identifier
2130
+
<!ENTITY mysqli.stmt.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
2131
+
<parameter>statement</parameter></term><listitem><para>Procedural style only: A <classname>mysqli_stmt</classname> object
1482
2132
returned by <function>mysqli_stmt_init</function>.</para></listitem></varlistentry>'>
1483
2133
<!ENTITY mysqli.available.mysqlnd 'Available only with <link xmlns="http://docbook.org/ns/docbook"
1484
2134
linkend="book.mysqlnd">mysqlnd</link>.'>
...
...
@@ -1487,11 +2137,35 @@ linkend="book.mysqlnd">mysqlnd</link>.'>
1487
2137
hand-shake/authentication, which mysqlnd will use.</para><para>Libmysqlclient uses the default charset set in the
1488
2138
<filename>my.cnf</filename> or by an explicit call to <function>mysqli_options</function> prior to
1489
2139
calling <function>mysqli_real_connect</function>, but after <function>mysqli_init</function>.</para></note>'>
2140
+
<!ENTITY mysqli.integer.overflow.as.string.note '<note xmlns="http://docbook.org/ns/docbook">
2141
+
<para>If the number of rows is greater than <constant>PHP_INT_MAX</constant>,
2142
+
the number will be returned as a &string;.</para></note>'>
2143
+
<!ENTITY mysqli.sqlinjection.warning '<warning xmlns="http://docbook.org/ns/docbook">
2144
+
<title>Security warning: SQL injection</title><para>If the query contains any variable
2145
+
input then <link linkend="mysqli.quickstart.prepared-statements">parameterized
2146
+
prepared statements</link> should be used instead. Alternatively, the
2147
+
data must be properly formatted and all strings must be escaped using
2148
+
the <function>mysqli_real_escape_string</function>
2149
+
function.</para></warning>'>
2150
+
<!ENTITY mysqli.conditionalexception '<para xmlns="http://docbook.org/ns/docbook">
2151
+
If mysqli error reporting is enabled (<constant>MYSQLI_REPORT_ERROR</constant>) and the requested operation fails,
2152
+
a warning is generated. If, in addition, the mode is set to <constant>MYSQLI_REPORT_STRICT</constant>,
2153
+
a <classname>mysqli_sql_exception</classname> is thrown instead.</para>'>
2154
+

2155
+
<!-- Notes for PCRE -->
2156
+
<!ENTITY pcre.pattern.warning '<para xmlns="http://docbook.org/ns/docbook">
2157
+
If the regex pattern passed does not compile to a valid regex, an <constant>E_WARNING</constant> is emitted.
2158
+
</para>'>
1490
2159

1491
2160
<!-- Notes for SAPI/Apache -->
1492
2161
<!ENTITY apache.req.module '<simpara xmlns="http://docbook.org/ns/docbook">This function is supported when PHP
1493
-
is installed as an Apache module or by the <link linkend="book.nsapi">NSAPI server module</link> in Netscape/iPlanet/SunONE
1494
-
webservers.</simpara>'>
2162
+
is installed as an Apache module webserver.
2163
+
</simpara>'>
2164
+

2165
+
<!-- Notes for SAPI/FPM -->
2166
+
<!ENTITY fpm.intro '<para xmlns="http://docbook.org/ns/docbook">FPM (FastCGI Process Manager) is
2167
+
a primary PHP FastCGI implementation containing some features (mostly) useful for heavy-loaded sites.
2168
+
</para>'>
1495
2169

1496
2170
<!-- SimpleXML Notes -->
1497
2171
<!ENTITY simplexml.iteration '<note xmlns="http://docbook.org/ns/docbook"><simpara>SimpleXML has made a rule of adding
...
...
@@ -1537,27 +2211,27 @@ the PHP &null; value.</simpara></note>'>
1537
2211

1538
2212
<!-- MSQL Notes -->
1539
2213
<!-- The msql.*.description entities are used in the parameters refsect1 -->
1540
-
<!ENTITY msql.linkid.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1541
-
link_identifier</parameter></term><listitem><para>The mSQL connection.
2214
+
<!ENTITY msql.linkid.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
2215
+
<parameter>link_identifier</parameter></term><listitem><para>The mSQL connection.
1542
2216
If not specified, the last link opened by <function>msql_connect</function>
1543
2217
is assumed. If no such link is found, the function will try to establish a
1544
2218
link as if <function>msql_connect</function> was called, and use it.
1545
2219
</para></listitem></varlistentry>'>
1546
2220

1547
-
<!ENTITY msql.result.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1548
-
result</parameter></term><listitem><para>The result <type>resource</type> that
2221
+
<!ENTITY msql.result.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
2222
+
<parameter>result</parameter></term><listitem><para>The result <type>resource</type> that
1549
2223
is being evaluated. This result comes from a call to
1550
2224
<function>msql_query</function>.</para></listitem></varlistentry>'>
1551
2225

1552
-
<!ENTITY msql.field-offset.req.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1553
-
field_offset</parameter></term><listitem><para>The numerical field offset. The
2226
+
<!ENTITY msql.field-offset.req.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
2227
+
<parameter>field_offset</parameter></term><listitem><para>The numerical field offset. The
1554
2228
<parameter>field_offset</parameter> starts at <literal>1</literal>.</para></listitem></varlistentry>'>
1555
2229

1556
2230

1557
2231
<!-- MySQL Notes -->
1558
2232
<!-- The mysql.*.description entities are used in the parameters refsect1 -->
1559
-
<!ENTITY mysql.linkid.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1560
-
link_identifier</parameter></term><listitem><para>The MySQL connection. If the
2233
+
<!ENTITY mysql.linkid.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
2234
+
<parameter>link_identifier</parameter></term><listitem><para>The MySQL connection. If the
1561
2235
link identifier is not specified, the last link opened by
1562
2236
<function>mysql_connect</function> is assumed. If no such link is found, it
1563
2237
will try to create one as if <function>mysql_connect</function> had been called
...
...
@@ -1566,56 +2240,51 @@ with no arguments. If no connection is found or established, an
1566
2240
</varlistentry>'>
1567
2241

1568
2242
<!ENTITY mysql.linkid-noreopen.description '<varlistentry
1569
-
xmlns="http://docbook.org/ns/docbook"><term><parameter>
1570
-
link_identifier</parameter></term><listitem><para>The MySQL connection. If the
2243
+
xmlns="http://docbook.org/ns/docbook"><term>
2244
+
<parameter>link_identifier</parameter></term><listitem><para>The MySQL connection. If the
1571
2245
link identifier is not specified, the last link opened by
1572
2246
<function>mysql_connect</function> is assumed. If no connection is found or
1573
2247
established, an <constant>E_WARNING</constant> level error is
1574
2248
generated.</para></listitem></varlistentry>'>
1575
2249

1576
-
<!ENTITY mysql.result.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1577
-
result</parameter></term><listitem><para>The result <type>resource</type> that
2250
+
<!ENTITY mysql.result.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
2251
+
<parameter>result</parameter></term><listitem><para>The result <type>resource</type> that
1578
2252
is being evaluated. This result comes from a call to
1579
2253
<function>mysql_query</function>.</para></listitem></varlistentry>'>
1580
2254

1581
-
<!ENTITY mysql.field-offset.req.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1582
-
field_offset</parameter></term><listitem><para>The numerical field offset. The
2255
+
<!ENTITY mysql.field-offset.req.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
2256
+
<parameter>field_offset</parameter></term><listitem><para>The numerical field offset. The
1583
2257
<parameter>field_offset</parameter> starts at <literal>0</literal>. If
1584
2258
<parameter>field_offset</parameter> does not exist, an error of level
1585
2259
<constant>E_WARNING</constant> is also issued.</para></listitem></varlistentry>'>
1586
2260

1587
2261
<!ENTITY mysql.alternative.note '<para xmlns="http://docbook.org/ns/docbook">This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.
1588
2262
Instead, the <link linkend="book.mysqli">MySQLi</link> or <link linkend="ref.pdo-mysql">PDO_MySQL</link> extension should be used.
1589
-
See also <link linkend="mysqlinfo.api.choosing">MySQL: choosing an API</link> guide and
1590
-
<link linkend="faq.databases.mysql.deprecated">related FAQ</link> for more information.
2263
+
See also <link linkend="mysqlinfo.api.choosing">MySQL: choosing an API</link> guide.
1591
2264
Alternatives to this function include:</para>'>
1592
2265

1593
2266
<!ENTITY mysql.alternative.note.4-3-0 '<para xmlns="http://docbook.org/ns/docbook">This function was deprecated in PHP 4.3.0, and it
1594
2267
and the entire <link linkend="book.mysql">original MySQL extension</link> was removed in PHP 7.0.0.
1595
2268
Instead, use either the actively developed <link linkend="book.mysqli">MySQLi</link> or <link linkend="ref.pdo-mysql">PDO_MySQL</link> extensions.
1596
-
See also the <link linkend="mysqlinfo.api.choosing">MySQL: choosing an API</link> guide and its
1597
-
<link linkend="faq.databases.mysql.deprecated">related FAQ entry</link> for additional information.
2269
+
See also the <link linkend="mysqlinfo.api.choosing">MySQL: choosing an API</link> guide.
1598
2270
Alternatives to this function include:</para>'>
1599
2271

1600
2272
<!ENTITY mysql.alternative.note.5-3-0 '<para xmlns="http://docbook.org/ns/docbook">This function was deprecated in PHP 5.3.0, and it
1601
2273
and the entire <link linkend="book.mysql">original MySQL extension</link> was removed in PHP 7.0.0.
1602
2274
Instead, use either the actively developed <link linkend="book.mysqli">MySQLi</link> or <link linkend="ref.pdo-mysql">PDO_MySQL</link> extensions.
1603
-
See also the <link linkend="mysqlinfo.api.choosing">MySQL: choosing an API</link> guide and its
1604
-
<link linkend="faq.databases.mysql.deprecated">related FAQ entry</link> for additional information.
2275
+
See also the <link linkend="mysqlinfo.api.choosing">MySQL: choosing an API</link> guide.
1605
2276
Alternatives to this function include:</para>'>
1606
2277

1607
2278
<!ENTITY mysql.alternative.note.5-4-0 '<para xmlns="http://docbook.org/ns/docbook">This function was deprecated in PHP 5.4.0, and it
1608
2279
and the entire <link linkend="book.mysql">original MySQL extension</link> was removed in PHP 7.0.0.
1609
2280
Instead, use either the actively developed <link linkend="book.mysqli">MySQLi</link> or <link linkend="ref.pdo-mysql">PDO_MySQL</link> extensions.
1610
-
See also the <link linkend="mysqlinfo.api.choosing">MySQL: choosing an API</link> guide and its
1611
-
<link linkend="faq.databases.mysql.deprecated">related FAQ entry</link> for additional information.
2281
+
See also the <link linkend="mysqlinfo.api.choosing">MySQL: choosing an API</link> guide.
1612
2282
Alternatives to this function include:</para>'>
1613
2283

1614
2284
<!ENTITY mysql.alternative.note.5-5-0 '<para xmlns="http://docbook.org/ns/docbook">This function was deprecated in PHP 5.5.0, and it
1615
2285
and the entire <link linkend="book.mysql">original MySQL extension</link> was removed in PHP 7.0.0.
1616
2286
Instead, use either the actively developed <link linkend="book.mysqli">MySQLi</link> or <link linkend="ref.pdo-mysql">PDO_MySQL</link> extensions.
1617
-
See also the <link linkend="mysqlinfo.api.choosing">MySQL: choosing an API</link> guide and its
1618
-
<link linkend="faq.databases.mysql.deprecated">related FAQ entry</link> for additional information.
2287
+
See also the <link linkend="mysqlinfo.api.choosing">MySQL: choosing an API</link> guide.
1619
2288
Alternatives to this function include:</para>'>
1620
2289

1621
2290
<!ENTITY mysql.close.connections.result.sets '<para xmlns="http://docbook.org/ns/docbook">
...
...
@@ -1634,8 +2303,8 @@ using the CT library interface to Sybase, and not with the DB library.
1634
2303
<!ENTITY sybase.db.only '<note xmlns="http://docbook.org/ns/docbook"><simpara>This function is only available when
1635
2304
using the DB library interface to Sybase, and not with the CT library.</simpara></note>'>
1636
2305

1637
-
<!ENTITY sybase.linkid.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1638
-
link_identifier</parameter></term><listitem><para>The Sybase connection. If the
2306
+
<!ENTITY sybase.linkid.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
2307
+
<parameter>link_identifier</parameter></term><listitem><para>The Sybase connection. If the
1639
2308
link identifier is not specified, the last link opened by
1640
2309
<function>sybase_connect</function> is assumed. If no such link is found, it
1641
2310
will try to create one as if <function>sybase_connect</function> was called
...
...
@@ -1649,15 +2318,15 @@ determines the unit length. If it is <literal>0</literal> or omitted, the
1649
2318
default unit as specified for the page is used. In other cases, the coordinates
1650
2319
are measured in postscript points, disregarding the current unit.</para>'>
1651
2320

1652
-
<!ENTITY cpdf.mode.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1653
-
mode</parameter></term><listitem><para>The optional parameter <parameter>mode</parameter>
2321
+
<!ENTITY cpdf.mode.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
2322
+
<parameter>mode</parameter></term><listitem><para>The optional parameter <parameter>mode</parameter>
1654
2323
determines the unit length. If it is <literal>0</literal> or omitted, the
1655
2324
default unit as specified for the page is used. In other cases, the coordinates
1656
2325
are measured in postscript points, disregarding the current unit.</para>
1657
2326
</listitem></varlistentry>'>
1658
2327

1659
-
<!ENTITY cpdf.pdf-document.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1660
-
pdf_document</parameter></term><listitem><para>The document handle, returned by
2328
+
<!ENTITY cpdf.pdf-document.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
2329
+
<parameter>pdf_document</parameter></term><listitem><para>The document handle, returned by
1661
2330
<function>cpdf_open</function>.</para></listitem></varlistentry>'>
1662
2331

1663
2332
<!-- Xattr entities -->
...
...
@@ -1710,7 +2379,7 @@ slash may also be necessary for directories.</simpara></note>'>
1710
2379
<!ENTITY Credit.Authors.and.Contributors 'Authors and Contributors'>
1711
2380

1712
2381
<!ENTITY Credit.Introduction '<para xmlns="http://docbook.org/ns/docbook"> We highlight the currently most active
1713
-
people on front page of the manual, but there are many more contributors who
2382
+
people on the front page of the manual, but there are many more contributors who
1714
2383
currently help in our work or have provided a great amount of help to the project
1715
2384
in the past. There are a lot of unnamed people who help out with user
1716
2385
notes on manual pages, which continually get included in the references, the
...
...
@@ -1770,9 +2439,17 @@ using public key authentication, use the
1770
2439
<!ENTITY returns.session.storage.retval 'The return value (usually &true; on success, &false; on failure). Note this value is returned internally to PHP for processing.'>
1771
2440

1772
2441
<!-- XMLWriter Notes -->
1773
-
<!ENTITY xmlwriter.xmlwriter.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
1774
-
xmlwriter</parameter></term><listitem><para>Only for procedural calls.
1775
-
The XMLWriter <type>resource</type> that is being modified. This resource comes from a call to <function>xmlwriter_open_uri</function> or <function>xmlwriter_open_memory</function>.</para></listitem></varlistentry>'>
2442
+
<!ENTITY xmlwriter.xmlwriter.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
2443
+
<parameter>writer</parameter></term><listitem><para>Only for procedural calls.
2444
+
The <classname>XMLWriter</classname> instance that is being modified. This object is returned from a call to <function>xmlwriter_open_uri</function> or <function>xmlwriter_open_memory</function>.</para></listitem></varlistentry>'>
2445
+

2446
+
<!ENTITY xmlwriter.changelog.writer-param '<row xmlns="http://docbook.org/ns/docbook">
2447
+
<entry>8.0.0</entry>
2448
+
<entry>
2449
+
<parameter>writer</parameter> expects an <classname>XMLWriter</classname>
2450
+
instance now; previously, a <type>resource</type> was expected.
2451
+
</entry>
2452
+
</row>'>
1776
2453

1777
2454
<!-- SOAP notes -->
1778
2455
<!ENTITY soap.wsdl.mode.only "<note xmlns='http://docbook.org/ns/docbook'><para>This function only works in WSDL mode.</para></note>">
...
...
@@ -1824,6 +2501,8 @@ The XMLWriter <type>resource</type> that is being modified. This resource comes
1824
2501
<!ENTITY imagick.method.available.0x653 'This method is available if Imagick has been compiled against ImageMagick version 6.5.3 or newer.'>
1825
2502
<!ENTITY imagick.method.available.0x657 'This method is available if Imagick has been compiled against ImageMagick version 6.5.7 or newer.'>
1826
2503

2504
+
<!ENTITY imagick.method.not.available.0x700 'This method is not available if Imagick has been compiled against ImageMagick version 7.0.0 or newer.'>
2505
+

1827
2506
<!ENTITY imagick.constant.available 'This constant is available if Imagick has been compiled against ImageMagick version'>
1828
2507

1829
2508
<!ENTITY imagick.deprecated.function-3-4-4 '<warning xmlns="http://docbook.org/ns/docbook"><simpara>This function has been <emphasis>DEPRECATED</emphasis> as of Imagick 3.4.4. Relying on this function is highly discouraged.</simpara></warning>'>
...
...
@@ -1912,6 +2591,24 @@ method has been removed from the phar extension as of version 2.0.0. Alternativ
1912
2591
implementations are available using <function>PharFileInfo::isCompressed</function>,
1913
2592
<function>PharFileInfo::decompress</function>, and <function>PharFileInfo::compress</function>.</para></note>'>
1914
2593

2594
+
<!ENTITY phar.note.performance '<note xmlns="http://docbook.org/ns/docbook">
2595
+
<simpara>
2596
+
<function>Phar::addFile</function>, <function>Phar::addFromString</function> and <function>Phar::offsetSet</function>
2597
+
save a new phar archive each time they are called. If performance is a concern,
2598
+
<function>Phar::buildFromDirectory</function> or <function>Phar::buildFromIterator</function>
2599
+
should be used instead.
2600
+
</simpara>
2601
+
</note>'>
2602
+

2603
+
<!ENTITY phardata.note.performance '<note xmlns="http://docbook.org/ns/docbook">
2604
+
<simpara>
2605
+
<function>PharData::addFile</function>, <function>PharData::addFromString</function> and <function>PharData::offsetSet</function>
2606
+
save a new phar archive each time they are called. If performance is a concern,
2607
+
<function>PharData::buildFromDirectory</function> or <function>PharData::buildFromIterator</function>
2608
+
should be used instead.
2609
+
</simpara>
2610
+
</note>'>
2611
+

1915
2612
<!-- XML -->
1916
2613
<!ENTITY libxml.required '<para xmlns="http://docbook.org/ns/docbook">
1917
2614
This extension requires the <link linkend="book.libxml">libxml</link> PHP extension.
...
...
@@ -1954,6 +2651,34 @@ to be references, then they must be references in the passed argument list.'>
1954
2651

1955
2652
<!ENTITY reflection.export.param.name 'The reflection to export.'>
1956
2653

2654
+
<!ENTITY reflection.getattributes.param.name '<varlistentry xmlns="http://docbook.org/ns/docbook">
2655
+
<term><parameter>name</parameter></term>
2656
+
<listitem>
2657
+
<para>
2658
+
Filter the results to include only <classname>ReflectionAttribute</classname>
2659
+
instances for attributes matching this class name.
2660
+
</para>
2661
+
</listitem>
2662
+
</varlistentry>'>
2663
+

2664
+
<!ENTITY reflection.getattributes.param.flags '<varlistentry xmlns="http://docbook.org/ns/docbook">
2665
+
<term><parameter>flags</parameter></term>
2666
+
<listitem>
2667
+
<para>
2668
+
Flags for determining how to filter the results, if <parameter>name</parameter>
2669
+
is provided.
2670
+
</para>
2671
+
<para>
2672
+
Default is <literal>0</literal> which will only return results for attributes that
2673
+
are of the class <parameter>name</parameter>.
2674
+
</para>
2675
+
<para>
2676
+
The only other option available, is to use <constant>ReflectionAttribute::IS_INSTANCEOF</constant>,
2677
+
which will instead use <literal>instanceof</literal> for filtering.
2678
+
</para>
2679
+
</listitem>
2680
+
</varlistentry>'>
2681
+

1957
2682
<!-- SPL -->
1958
2683
<!ENTITY spl.datastructures.intro.title '<title xmlns="http://docbook.org/ns/docbook">Datastructures</title>'>
1959
2684

...
...
@@ -1979,7 +2704,7 @@ to be references, then they must be references in the passed argument list.'>
1979
2704
<!-- Win32Service -->
1980
2705
<!ENTITY win32service.false.error ', &false; if there is a problem with the parameters or a <link xmlns="http://docbook.org/ns/docbook" linkend="win32service.constants.errors">Win32 Error Code</link> on failure.'>
1981
2706
<!ENTITY win32service.success.false.error 'Returns &true; on success&win32service.false.error;'>
1982
-
<!ENTITY win32service.noerror.false.error 'Returns <constant xmlns="http://docbook.org/ns/docbook">WIN32_NO_ERROR</constant> on success&win32service.false.error;'>
2707
+
<!ENTITY win32service.noerror.false.error 'returned <constant xmlns="http://docbook.org/ns/docbook">WIN32_NO_ERROR</constant> on success&win32service.false.error;'>
1983
2708

1984
2709
<!-- SNMP -->
1985
2710
<!ENTITY snmp.set.type.values '<para xmlns="http://docbook.org/ns/docbook">
...
...
@@ -2196,6 +2921,18 @@ the <link linkend="set.mongodb">MongoDB</link> extension should be
2196
2921
used.</para>'>
2197
2922

2198
2923
<!-- mongodb -->
2924
+
<!ENTITY mongodb.changelog.tentative-return-types '
2925
+
<row xmlns="http://docbook.org/ns/docbook">
2926
+
<entry>PECL mongodb 1.15.0</entry>
2927
+
<entry>
2928
+
Return types for methods are declared as tentative on PHP 8.0 and newer,
2929
+
triggering deprecation notices in code that implements this interface
2930
+
without declaring the appropriate return types. The <code>#[ReturnTypeWillChange]</code>
2931
+
attribute can be added to silence the deprecation notice.
2932
+
</entry>
2933
+
</row>
2934
+
'>
2935
+

2199
2936
<!ENTITY mongodb.option.collation '
2200
2937
<row xmlns="http://docbook.org/ns/docbook">
2201
2938
<entry>collation</entry>
...
...
@@ -2213,6 +2950,20 @@ used.</para>'>
2213
2950
</entry>
2214
2951
</row>
2215
2952
'>
2953
+
<!ENTITY mongodb.option.let '
2954
+
<row xmlns="http://docbook.org/ns/docbook">
2955
+
<entry>let</entry>
2956
+
<entry><type class="union"><type>array</type><type>object</type></type></entry>
2957
+
<entry>
2958
+
<para>
2959
+
Map of parameter names and values. Values must be constant or closed expressions that do not reference document fields. Parameters can then be accessed as variables in an aggregate expression context (e.g. <literal>$$var</literal>).
2960
+
</para>
2961
+
<para>
2962
+
This option is available in MongoDB 5.0+ and will result in an exception at execution time if specified for an older server version.
2963
+
</para>
2964
+
</entry>
2965
+
</row>
2966
+
'>
2216
2967
<!ENTITY mongodb.option.encryption.keyVaultClient '
2217
2968
<row xmlns="http://docbook.org/ns/docbook">
2218
2969
<entry>keyVaultClient</entry>
...
...
@@ -2224,36 +2975,235 @@ used.</para>'>
2224
2975
<row xmlns="http://docbook.org/ns/docbook">
2225
2976
<entry>keyVaultNamespace</entry>
2226
2977
<entry><type>string</type></entry>
2227
-
<entry>A fully qualified namespace (e.g. <literal>"databaseName.collectionName"</literal>) denoting the collection that contains all data keys used for encryption and decryption.</entry>
2978
+
<entry>A fully qualified namespace (e.g. <literal>"databaseName.collectionName"</literal>) denoting the collection that contains all data keys used for encryption and decryption. This option is required.</entry>
2228
2979
</row>
2229
2980
'>
2230
2981
<!ENTITY mongodb.option.encryption.kmsProviders '
2231
-
<row xmlns="http://docbook.org/ns/docbook">
2982
+
<row xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
2232
2983
<entry>kmsProviders</entry>
2233
2984
<entry><type>array</type></entry>
2234
2985
<entry>
2235
2986
<para>
2236
-
A document containing the configuration for one or more KMS providers, which are used to encrypt data keys. Currently <literal>aws</literal> or <literal>local</literal>are supported and at least one must be specified.
2987
+
A document containing the configuration for one or more KMS providers, which are used to encrypt data keys. Supported providers include <literal>"aws"</literal>, <literal>"azure"</literal>, <literal>"gcp"</literal>, <literal>"kmip"</literal>, and <literal>"local"</literal> and at least one must be specified.
2988
+
</para>
2989
+
<para>
2990
+
If an empty document is specified for <literal>"aws"</literal>,
2991
+
<literal>"azure"</literal>, or <literal>"gcp"</literal>, the driver
2992
+
will attempt to configure the provider using
2993
+
<link xlink:href="&url.mongodb.specs;/blob/master/source/client-side-encryption/client-side-encryption.rst#automatic-credentials">Automatic Credentials</link>.
2237
2994
</para>
2238
2995
<para>
2239
-
The format for <literal>aws</literal> is as follows:
2996
+
The format for <literal>"aws"</literal> is as follows:
2240
2997
</para>
2241
2998
<programlisting role="javascript">
2242
2999
<![CDATA[
2243
3000
aws: {
2244
3001
accessKeyId: <string>,
2245
-
secretAccessKey: <string>
3002
+
secretAccessKey: <string>,
3003
+
sessionToken: <optional string>
3004
+
}
3005
+
]]>
3006
+
</programlisting>
3007
+
<para>
3008
+
The format for <literal>"azure"</literal> is as follows:
3009
+
</para>
3010
+
<programlisting role="javascript">
3011
+
<![CDATA[
3012
+
azure: {
3013
+
tenantId: <string>,
3014
+
clientId: <string>,
3015
+
clientSecret: <string>,
3016
+
identityPlatformEndpoint: <optional string> // Defaults to "login.microsoftonline.com"
3017
+
}
3018
+
]]>
3019
+
</programlisting>
3020
+
<para>
3021
+
The format for <literal>"gcp"</literal> is as follows:
3022
+
</para>
3023
+
<programlisting role="javascript">
3024
+
<![CDATA[
3025
+
gcp: {
3026
+
email: <string>,
3027
+
privateKey: <base64 string>|<MongoDB\BSON\Binary>,
3028
+
endpoint: <optional string> // Defaults to "oauth2.googleapis.com"
3029
+
}
3030
+
]]>
3031
+
</programlisting>
3032
+
<para>
3033
+
The format for <literal>"kmip"</literal> is as follows:
3034
+
</para>
3035
+
<programlisting role="javascript">
3036
+
<![CDATA[
3037
+
kmip: {
3038
+
endpoint: <string>
2246
3039
}
2247
3040
]]>
2248
3041
</programlisting>
2249
3042
<para>
2250
-
The format for <literal>local</literal> is as follows:
3043
+
The format for <literal>"local"</literal> is as follows:
2251
3044
</para>
2252
3045
<programlisting role="javascript">
2253
3046
<![CDATA[
2254
3047
local: {
2255
-
// The master key used to encrypt/decrypt data keys
2256
-
key: <96-byte MongoDB\BSON\Binary with subtype 0>
3048
+
// 96-byte master key used to encrypt/decrypt data keys
3049
+
key: <base64 string>|<MongoDB\BSON\Binary>
3050
+
}
3051
+
]]>
3052
+
</programlisting>
3053
+
</entry>
3054
+
</row>
3055
+
'>
3056
+
<!ENTITY mongodb.option.encryption.masterKey-options-by-provider '
3057
+
<para xmlns="http://docbook.org/ns/docbook">
3058
+
<table>
3059
+
<title><literal>"aws"</literal> provider options</title>
3060
+
<tgroup cols="3">
3061
+
<thead>
3062
+
<row>
3063
+
<entry>Option</entry>
3064
+
<entry>Type</entry>
3065
+
<entry>Description</entry>
3066
+
</row>
3067
+
</thead>
3068
+
<tbody>
3069
+
<row>
3070
+
<entry>region</entry>
3071
+
<entry>string</entry>
3072
+
<entry>Required.</entry>
3073
+
</row>
3074
+
<row>
3075
+
<entry>key</entry>
3076
+
<entry>string</entry>
3077
+
<entry>Required. The Amazon Resource Name (ARN) to the AWS customer master key (CMK).</entry>
3078
+
</row>
3079
+
<row>
3080
+
<entry>endpoint</entry>
3081
+
<entry>string</entry>
3082
+
<entry>Optional. An alternate host identifier to send KMS requests to. May include port number.</entry>
3083
+
</row>
3084
+
</tbody>
3085
+
</tgroup>
3086
+
</table>
3087
+
</para>
3088
+
<para xmlns="http://docbook.org/ns/docbook">
3089
+
<table>
3090
+
<title><literal>"azure"</literal> provider options</title>
3091
+
<tgroup cols="3">
3092
+
<thead>
3093
+
<row>
3094
+
<entry>Option</entry>
3095
+
<entry>Type</entry>
3096
+
<entry>Description</entry>
3097
+
</row>
3098
+
</thead>
3099
+
<tbody>
3100
+
<row>
3101
+
<entry>keyVaultEndpoint</entry>
3102
+
<entry>string</entry>
3103
+
<entry>Required. Host with optional port (e.g. "example.vault.azure.net").</entry>
3104
+
</row>
3105
+
<row>
3106
+
<entry>keyName</entry>
3107
+
<entry>string</entry>
3108
+
<entry>Required.</entry>
3109
+
</row>
3110
+
<row>
3111
+
<entry>keyVersion</entry>
3112
+
<entry>string</entry>
3113
+
<entry>Optional. A specific version of the named key. Defaults to using the key&apos;s primary version.</entry>
3114
+
</row>
3115
+
</tbody>
3116
+
</tgroup>
3117
+
</table>
3118
+
</para>
3119
+
<para xmlns="http://docbook.org/ns/docbook">
3120
+
<table>
3121
+
<title><literal>"gcp"</literal> provider options</title>
3122
+
<tgroup cols="3">
3123
+
<thead>
3124
+
<row>
3125
+
<entry>Option</entry>
3126
+
<entry>Type</entry>
3127
+
<entry>Description</entry>
3128
+
</row>
3129
+
</thead>
3130
+
<tbody>
3131
+
<row>
3132
+
<entry>projectId</entry>
3133
+
<entry>string</entry>
3134
+
<entry>Required.</entry>
3135
+
</row>
3136
+
<row>
3137
+
<entry>location</entry>
3138
+
<entry>string</entry>
3139
+
<entry>Required.</entry>
3140
+
</row>
3141
+
<row>
3142
+
<entry>keyRing</entry>
3143
+
<entry>string</entry>
3144
+
<entry>Required.</entry>
3145
+
</row>
3146
+
<row>
3147
+
<entry>keyName</entry>
3148
+
<entry>string</entry>
3149
+
<entry>Required.</entry>
3150
+
</row>
3151
+
<row>
3152
+
<entry>keyVersion</entry>
3153
+
<entry>string</entry>
3154
+
<entry>Optional. A specific version of the named key. Defaults to using the key&apos;s primary version.</entry>
3155
+
</row>
3156
+
<row>
3157
+
<entry>endpoint</entry>
3158
+
<entry>string</entry>
3159
+
<entry>Optional. Host with optional port. Defaults to "cloudkms.googleapis.com".</entry>
3160
+
</row>
3161
+
</tbody>
3162
+
</tgroup>
3163
+
</table>
3164
+
</para>
3165
+
<para xmlns="http://docbook.org/ns/docbook">
3166
+
<table>
3167
+
<title><literal>"kmip"</literal> provider options</title>
3168
+
<tgroup cols="3">
3169
+
<thead>
3170
+
<row>
3171
+
<entry>Option</entry>
3172
+
<entry>Type</entry>
3173
+
<entry>Description</entry>
3174
+
</row>
3175
+
</thead>
3176
+
<tbody>
3177
+
<row>
3178
+
<entry>keyId</entry>
3179
+
<entry>string</entry>
3180
+
<entry>Optional. Unique identifier to a 96-byte KMIP secret data managed object. If unspecified, the driver creates a random 96-byte KMIP secret data managed object.</entry>
3181
+
</row>
3182
+
<row>
3183
+
<entry>endpoint</entry>
3184
+
<entry>string</entry>
3185
+
<entry>Optional. Host with optional port.</entry>
3186
+
</row>
3187
+
</tbody>
3188
+
</tgroup>
3189
+
</table>
3190
+
</para>
3191
+
'>
3192
+
<!ENTITY mongodb.option.encryption.tlsOptions '
3193
+
<row xmlns="http://docbook.org/ns/docbook">
3194
+
<entry>tlsOptions</entry>
3195
+
<entry><type>array</type></entry>
3196
+
<entry>
3197
+
<para>
3198
+
A document containing the TLS configuration for one or more KMS providers. Supported providers include <literal>"aws"</literal>, <literal>"azure"</literal>, <literal>"gcp"</literal>, and <literal>"kmip"</literal>. All providers support the following options:
3199
+
</para>
3200
+
<programlisting role="javascript">
3201
+
<![CDATA[
3202
+
<provider>: {
3203
+
tlsCaFile: <optional string>,
3204
+
tlsCertificateKeyFile: <optional string>,
3205
+
tlsCertificateKeyFilePassword: <optional string>,
3206
+
tlsDisableOCSPEndpointCheck: <optional bool>
2257
3207
}
2258
3208
]]>
2259
3209
</programlisting>
...
...
@@ -2378,6 +3328,156 @@ local: {
2378
3328
</listitem>
2379
3329
</varlistentry>
2380
3330
'>
3331
+
<!ENTITY mongodb.parameter.encryptOpts '
3332
+
<varlistentry xmlns="http://docbook.org/ns/docbook">
3333
+
<term><parameter>options</parameter></term>
3334
+
<listitem>
3335
+
<para>
3336
+
<table>
3337
+
<title>Encryption options</title>
3338
+
<tgroup cols="3">
3339
+
<thead>
3340
+
<row>
3341
+
<entry>Option</entry>
3342
+
<entry>Type</entry>
3343
+
<entry>Description</entry>
3344
+
</row>
3345
+
</thead>
3346
+
<tbody>
3347
+
<row>
3348
+
<entry>algorithm</entry>
3349
+
<entry><type>string</type></entry>
3350
+
<entry>
3351
+
<para>
3352
+
The encryption algorithm to be used. This option is required.
3353
+
Specify one of the following
3354
+
<link linkend="mongodb-driver-clientencryption.constants">ClientEncryption constants</link>:
3355
+
</para>
3356
+
<simplelist>
3357
+
<member><constant>MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC</constant></member>
3358
+
<member><constant>MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM</constant></member>
3359
+
<member><constant>MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED</constant></member>
3360
+
<member><constant>MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED</constant></member>
3361
+
<member><constant>MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW</constant></member>
3362
+
</simplelist>
3363
+
</entry>
3364
+
</row>
3365
+
<row>
3366
+
<entry>contentionFactor</entry>
3367
+
<entry><type>int</type></entry>
3368
+
<entry>
3369
+
<para>
3370
+
The contention factor for evaluating queries with indexed, encrypted
3371
+
payloads.
3372
+
</para>
3373
+
<para>
3374
+
This option only applies and may only be specified when
3375
+
<literal>algorithm</literal> is
3376
+
<constant>MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED</constant>
3377
+
or
3378
+
<constant>MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW</constant>.
3379
+
</para>
3380
+
</entry>
3381
+
</row>
3382
+
<row>
3383
+
<entry>keyAltName</entry>
3384
+
<entry><type>string</type></entry>
3385
+
<entry>
3386
+
<para>
3387
+
Identifies a key vault collection document by
3388
+
<literal>keyAltName</literal>. This option is mutually exclusive
3389
+
with <literal>keyId</literal> and exactly one is required.
3390
+
</para>
3391
+
</entry>
3392
+
</row>
3393
+
<row>
3394
+
<entry>keyId</entry>
3395
+
<entry><classname>MongoDB\BSON\Binary</classname></entry>
3396
+
<entry>
3397
+
<para>
3398
+
Identifies a data key by <literal>_id</literal>. The value is a UUID
3399
+
(binary subtype 4). This option is mutually exclusive with
3400
+
<literal>keyAltName</literal> and exactly one is required.
3401
+
</para>
3402
+
</entry>
3403
+
</row>
3404
+
<row>
3405
+
<entry>queryType</entry>
3406
+
<entry><type>string</type></entry>
3407
+
<entry>
3408
+
<para>
3409
+
The query type for evaluating queries with indexed, encrypted
3410
+
payloads. Specify one of the following
3411
+
<link linkend="mongodb-driver-clientencryption.constants">ClientEncryption constants</link>:
3412
+
</para>
3413
+
<simplelist>
3414
+
<member><constant>MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY</constant></member>
3415
+
<member><constant>MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW</constant></member>
3416
+
</simplelist>
3417
+
<para>This option only applies and may only be specified when
3418
+
<literal>algorithm</literal> is
3419
+
<constant>MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED</constant>
3420
+
or <constant>MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW</constant>.
3421
+
</para>
3422
+
</entry>
3423
+
</row>
3424
+
<row>
3425
+
<entry>rangeOpts</entry>
3426
+
<entry><type>array</type></entry>
3427
+
<entry>
3428
+
<para>
3429
+
Index options for a queryable encryption field supporting
3430
+
"rangePreview" queries. The options below must match the values set
3431
+
in the <literal>encryptedFields</literal> of the target collection.
3432
+
For double and decimal128 BSON field types, <literal>min</literal>,
3433
+
<literal>max</literal>, and <literal>precision</literal> must all be
3434
+
set, or all be unset.
3435
+
</para>
3436
+
<para>
3437
+
<table>
3438
+
<title>Range index options</title>
3439
+
<tgroup cols="3">
3440
+
<thead>
3441
+
<row>
3442
+
<entry>Option</entry>
3443
+
<entry>Type</entry>
3444
+
<entry>Description</entry>
3445
+
</row>
3446
+
</thead>
3447
+
<tbody>
3448
+
<row>
3449
+
<entry>min</entry>
3450
+
<entry><type>mixed</type></entry>
3451
+
<entry>Required if <literal>precision</literal> is set.</entry>
3452
+
</row>
3453
+
<row>
3454
+
<entry>max</entry>
3455
+
<entry><type>mixed</type></entry>
3456
+
<entry>Required if <literal>precision</literal> is set.</entry>
3457
+
</row>
3458
+
<row>
3459
+
<entry>sparsity</entry>
3460
+
<entry><type>int</type></entry>
3461
+
<entry>Required.</entry>
3462
+
</row>
3463
+
<row>
3464
+
<entry>precision</entry>
3465
+
<entry><type>int</type></entry>
3466
+
<entry>Optional. May only be set for double or decimal128 BSON field types.</entry>
3467
+
</row>
3468
+
</tbody>
3469
+
</tgroup>
3470
+
</table>
3471
+
</para>
3472
+
</entry>
3473
+
</row>
3474
+
</tbody>
3475
+
</tgroup>
3476
+
</table>
3477
+
</para>
3478
+
</listitem>
3479
+
</varlistentry>
3480
+
'>
2381
3481
<!ENTITY mongodb.parameter.query '
2382
3482
<varlistentry xmlns="http://docbook.org/ns/docbook">
2383
3483
<term><parameter>query</parameter> (<classname>MongoDB\Driver\Query</classname>)</term>
...
...
@@ -2425,6 +3525,9 @@ local: {
2425
3525
<!ENTITY mongodb.throws.connection '<member xmlns="http://docbook.org/ns/docbook">Throws <classname>MongoDB\Driver\Exception\ConnectionException</classname> if connection to the server fails (for reasons other than authentication).</member>'>
2426
3526
<!ENTITY mongodb.throws.bson.unexpected '<member xmlns="http://docbook.org/ns/docbook">Throws <classname>MongoDB\Driver\Exception\UnexpectedValueException</classname> if the input did not contain exactly one BSON document. Possible reasons include, but are not limited to, invalid BSON, extra data (after reading one BSON document), or an unexpected <link xlink:href="&url.mongodb.libbson;" xmlns:xlink="http://www.w3.org/1999/xlink">libbson</link> error.</member>'>
2427
3527

3528
+
<!-- Not used in EN anymore -->
3529
+
<!ENTITY mongodb.note.queryable-encryption-preview ''>
3530
+

2428
3531
<!ENTITY mongodb.note.decimal128 '
2429
3532
<note xmlns="http://docbook.org/ns/docbook">
2430
3533
<simpara>
...
...
@@ -2493,6 +3596,18 @@ local: {
2493
3596
</note>
2494
3597
'>
2495
3598

3599
+
<!ENTITY mongodb.warning.duplicate-keys '
3600
+
<warning xmlns="http://docbook.org/ns/docbook">
3601
+
<simpara>
3602
+
BSON documents can technically contain duplicate keys because documents are
3603
+
stored as a list of key-value pairs; however, applications should refrain
3604
+
from generating documents with duplicate keys as server and driver behavior
3605
+
may be undefined. Since PHP objects and arrays cannot have duplicate keys,
3606
+
data could also be lost when decoding a BSON document with duplicate keys.
3607
+
</simpara>
3608
+
</warning>
3609
+
'>
3610
+

2496
3611
<!-- Radius -->
2497
3612
<!ENTITY radius.request.required '<note xmlns="http://docbook.org/ns/docbook"><para>A request must be created via <function>radius_create_request</function> before this function can be called.</para></note>'>
2498
3613
<!ENTITY radius.parameter.attribute-type '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>type</parameter></term><listitem><para>The attribute type.</para></listitem></varlistentry>'>
...
...
@@ -2503,17 +3618,14 @@ local: {
2503
3618

2504
3619
<!-- posix snippets -->
2505
3620
<!ENTITY posix.parameter.fd '<varlistentry xmlns="http://docbook.org/ns/docbook">
2506
-
<term><parameter>fd</parameter></term>
3621
+
<term><parameter>file_descriptor</parameter></term>
2507
3622
<listitem>
2508
3623
<para>
2509
3624
The file descriptor, which is expected to be either a file
2510
-
<type>resource</type> or an <type>integer</type>. An <type>integer</type>
3625
+
<type>resource</type> or an <type>int</type>. An <type>int</type>
2511
3626
will be assumed to be a file descriptor that can be passed directly to
2512
3627
the underlying system call.
2513
3628
</para>
2514
-
<para>
2515
-
In almost all cases, you will want to provide a file <type>resource</type>.
2516
-
</para>
2517
3629
</listitem>
2518
3630
</varlistentry>'>
2519
3631

...
...
@@ -2534,18 +3646,15 @@ local: {
2534
3646
</para>
2535
3647

2536
3648
<para xmlns="http://docbook.org/ns/docbook">
2537
-
If omitted, the default value of the <parameter>encoding</parameter> varies
2538
-
depending on the PHP version in use. In PHP 5.6 and later, the
3649
+
If omitted, <parameter>encoding</parameter> defaults to the value of the
2539
3650
<link linkend="ini.default-charset">default_charset</link> configuration
2540
-
option is used as the default value. PHP 5.4 and 5.5 will use
2541
-
<literal>UTF-8</literal> as the default. Earlier versions of PHP use
2542
-
<literal>ISO-8859-1</literal>.
3651
+
option.
2543
3652
</para>
2544
3653

2545
3654
<para xmlns="http://docbook.org/ns/docbook">
2546
3655
Although this argument is technically optional, you are highly encouraged to
2547
-
specify the correct value for your code if you are using PHP 5.5 or earlier,
2548
-
or if your <link linkend="ini.default-charset">default_charset</link>
3656
+
specify the correct value for your code
3657
+
if the <link linkend="ini.default-charset">default_charset</link>
2549
3658
configuration option may be set incorrectly for the given input.
2550
3659
</para>
2551
3660
'>
...
...
@@ -2630,16 +3739,20 @@ local: {
2630
3739
<formalpara>
2631
3740
<title>Width</title>
2632
3741
<para>
2633
-
An integer that says how many characters (minimum)
2634
-
this conversion should result in.
3742
+
Either an integer that says how many characters (minimum)
3743
+
this conversion should result in, or <literal>*</literal>.
3744
+
If <literal>*</literal> is used, then the width is supplied
3745
+
as an additional integer value preceding the one formatted
3746
+
by the specifier.
2635
3747
</para>
2636
3748
</formalpara>
2637
3749

2638
3750
<formalpara>
2639
3751
<title>Precision</title>
2640
3752
<para>
2641
-
A period <literal>.</literal> followed by an integer
2642
-
who&apos;s meaning depends on the specifier:
3753
+
A period <literal>.</literal> optionally followed by
3754
+
either an integer or <literal>*</literal>,
3755
+
whose meaning depends on the specifier:
2643
3756
<itemizedlist>
2644
3757
<listitem>
2645
3758
<simpara>
...
...
@@ -2651,7 +3764,8 @@ local: {
2651
3764
</listitem>
2652
3765
<listitem>
2653
3766
<simpara>
2654
-
For <literal>g</literal> and <literal>G</literal>
3767
+
For <literal>g</literal>, <literal>G</literal>,
3768
+
<literal>h</literal> and <literal>H</literal>
2655
3769
specifiers: this is the maximum number of significant
2656
3770
digits to be printed.
2657
3771
</simpara>
...
...
@@ -2666,19 +3780,14 @@ local: {
2666
3780
<note>
2667
3781
<simpara>
2668
3782
If the period is specified without an explicit value for precision,
2669
-
0 is assumed.
3783
+
0 is assumed. If <literal>*</literal> is used, the precision is
3784
+
supplied as an additional integer value preceding the one formatted
3785
+
by the specifier.
2670
3786
</simpara>
2671
3787
</note>
2672
3788
</para>
2673
3789
</formalpara>
2674
3790

2675
-
<note>
2676
-
<simpara>
2677
-
Attempting to use a position specifier greater than
2678
-
<constant>PHP_INT_MAX</constant> will generate warnings.
2679
-
</simpara>
2680
-
</note>
2681
-

2682
3791
<para>
2683
3792
<table>
2684
3793
<title>Specifiers</title>
...
...
@@ -2721,9 +3830,6 @@ local: {
2721
3830
<entry><literal>e</literal></entry>
2722
3831
<entry>
2723
3832
The argument is treated as scientific notation (e.g. 1.2e+2).
2724
-
The precision specifier stands for the number of digits after the
2725
-
decimal point since PHP 5.2.1. In earlier versions, it was taken as
2726
-
number of significant digits (one less).
2727
3833
</entry>
2728
3834
</row>
2729
3835
<row>
...
...
@@ -2745,7 +3851,6 @@ local: {
2745
3851
<entry>
2746
3852
The argument is treated as a float and presented
2747
3853
as a floating-point number (non-locale aware).
2748
-
Available as of PHP 5.0.3.
2749
3854
</entry>
2750
3855
</row>
2751
3856
<row>
...
...
@@ -2773,6 +3878,20 @@ local: {
2773
3878
</entry>
2774
3879
</row>
2775
3880
<row>
3881
+
<entry><literal>h</literal></entry>
3882
+
<entry>
3883
+
Like the <literal>g</literal> specifier but uses <literal>F</literal>.
3884
+
Available as of PHP 8.0.0.
3885
+
</entry>
3886
+
</row>
3887
+
<row>
3888
+
<entry><literal>H</literal></entry>
3889
+
<entry>
3890
+
Like the <literal>g</literal> specifier but uses
3891
+
<literal>E</literal> and <literal>F</literal>. Available as of PHP 8.0.0.
3892
+
</entry>
3893
+
</row>
3894
+
<row>
2776
3895
<entry><literal>o</literal></entry>
2777
3896
<entry>
2778
3897
The argument is treated as an integer and presented
...
...
@@ -2836,11 +3955,11 @@ local: {
2836
3955
</thead>
2837
3956
<tbody>
2838
3957
<row>
2839
-
<entry><literal>string</literal></entry>
3958
+
<entry><type>string</type></entry>
2840
3959
<entry><literal>s</literal></entry>
2841
3960
</row>
2842
3961
<row>
2843
-
<entry><literal>integer</literal></entry>
3962
+
<entry><type>int</type></entry>
2844
3963
<entry>
2845
3964
<literal>d</literal>,
2846
3965
<literal>u</literal>,
...
...
@@ -2852,14 +3971,16 @@ local: {
2852
3971
</entry>
2853
3972
</row>
2854
3973
<row>
2855
-
<entry><literal>double</literal></entry>
3974
+
<entry><type>float</type></entry>
2856
3975
<entry>
2857
-
<literal>g</literal>,
2858
-
<literal>G</literal>,
2859
3976
<literal>e</literal>,
2860
3977
<literal>E</literal>,
2861
3978
<literal>f</literal>,
2862
-
<literal>F</literal>
3979
+
<literal>F</literal>,
3980
+
<literal>g</literal>,
3981
+
<literal>G</literal>,
3982
+
<literal>h</literal>,
3983
+
<literal>H</literal>
2863
3984
</entry>
2864
3985
</row>
2865
3986
</tbody>
...
...
@@ -2870,9 +3991,47 @@ local: {
2870
3991
</varlistentry>
2871
3992
'>
2872
3993

3994
+
<!ENTITY strings.scanf.parameter.format '
3995
+
<varlistentry xmlns="http://docbook.org/ns/docbook">
3996
+
<term><parameter>format</parameter></term>
3997
+
<listitem>
3998
+
<para>
3999
+
The interpreted format for <parameter>string</parameter>, which is
4000
+
described in the documentation for <function>sprintf</function> with
4001
+
following differences:
4002
+
<simplelist>
4003
+
<member>
4004
+
Function is not locale-aware.
4005
+
</member>
4006
+
<member>
4007
+
<literal>F</literal>, <literal>g</literal>, <literal>G</literal> and
4008
+
<literal>b</literal> are not supported.
4009
+
</member>
4010
+
<member>
4011
+
<literal>D</literal> stands for decimal number.
4012
+
</member>
4013
+
<member>
4014
+
<literal>i</literal> stands for integer with base detection.
4015
+
</member>
4016
+
<member>
4017
+
<literal>n</literal> stands for number of characters processed so far.
4018
+
</member>
4019
+
<member>
4020
+
<literal>s</literal> stops reading at any whitespace character.
4021
+
</member>
4022
+
<member>
4023
+
<literal>*</literal> instead of <literal>argnum$</literal> suppresses
4024
+
the assignment of this conversion specification.
4025
+
</member>
4026
+
</simplelist>
4027
+
</para>
4028
+
</listitem>
4029
+
</varlistentry>
4030
+
'>
4031
+

2873
4032
<!ENTITY strings.parameter.needle.non-string '
2874
4033
<para xmlns="http://docbook.org/ns/docbook">
2875
-
If <parameter>needle</parameter> is not a string, it is converted
4034
+
Prior to PHP 8.0.0, if <parameter>needle</parameter> is not a string, it is converted
2876
4035
to an integer and applied as the ordinal value of a character.
2877
4036
This behavior is deprecated as of PHP 7.3.0, and relying on it is highly
2878
4037
discouraged. Depending on the intended behavior, the
...
...
@@ -2881,6 +4040,13 @@ local: {
2881
4040
</para>
2882
4041
'>
2883
4042

4043
+
<!ENTITY strings.changelog.needle-empty '<row xmlns="http://docbook.org/ns/docbook">
4044
+
<entry>8.0.0</entry>
4045
+
<entry>
4046
+
<parameter>needle</parameter> now accepts an empty string.
4047
+
</entry>
4048
+
</row>'>
4049
+

2884
4050
<!ENTITY strings.changelog.encoding '
2885
4051
<row xmlns="http://docbook.org/ns/docbook">
2886
4052
<entry>5.6.0</entry>
...
...
@@ -2893,6 +4059,163 @@ local: {
2893
4059
</row>
2894
4060
'>
2895
4061

4062
+
<!ENTITY strings.changelog.ascii-case-conversion '
4063
+
<row xmlns="http://docbook.org/ns/docbook">
4064
+
<entry>8.2.0</entry>
4065
+
<entry>
4066
+
Case conversion no longer depends on the locale set with
4067
+
<function>setlocale</function>. Only ASCII characters will be converted.
4068
+
</entry>
4069
+
</row>
4070
+
'>
4071
+

4072
+
<!ENTITY strings.changelog.ascii-case-folding '
4073
+
<row xmlns="http://docbook.org/ns/docbook">
4074
+
<entry>8.2.0</entry>
4075
+
<entry>
4076
+
Case folding no longer depends on the locale set with
4077
+
<function>setlocale</function>. Only ASCII case folding will be done.
4078
+
Non-ASCII bytes will be compared by their byte value.
4079
+
</entry>
4080
+
</row>
4081
+
'>
4082
+

4083
+
<!ENTITY strings.changelog.sprintf '
4084
+
<informaltable xmlns="http://docbook.org/ns/docbook">
4085
+
<tgroup cols="2">
4086
+
<thead>
4087
+
<row>
4088
+
<entry>&Version;</entry>
4089
+
<entry>&Description;</entry>
4090
+
</row>
4091
+
</thead>
4092
+
<tbody>
4093
+
<row>
4094
+
<entry>8.0.0</entry>
4095
+
<entry>
4096
+
This function no longer returns &false; on failure.
4097
+
</entry>
4098
+
</row>
4099
+
<row>
4100
+
<entry>8.0.0</entry>
4101
+
<entry>
4102
+
Throw a <classname>ValueError</classname> if the number of arguments is zero;
4103
+
previously this function emitted a <constant>E_WARNING</constant> instead.
4104
+
</entry>
4105
+
</row>
4106
+
<row>
4107
+
<entry>8.0.0</entry>
4108
+
<entry>
4109
+
Throw a <classname>ValueError</classname> if <literal>[width]</literal> is less than zero or bigger than <constant>PHP_INT_MAX</constant>;
4110
+
previously this function emitted a <constant>E_WARNING</constant> instead.
4111
+
</entry>
4112
+
</row>
4113
+
<row>
4114
+
<entry>8.0.0</entry>
4115
+
<entry>
4116
+
Throw a <classname>ValueError</classname> if <literal>[precision]</literal> is less than zero or bigger than <constant>PHP_INT_MAX</constant>;
4117
+
previously this function emitted a <constant>E_WARNING</constant> instead.
4118
+
</entry>
4119
+
</row>
4120
+
<row>
4121
+
<entry>8.0.0</entry>
4122
+
<entry>
4123
+
Throw a <classname>ArgumentCountError</classname> when less arguments are given than required;
4124
+
previously this function emitted a <constant>E_WARNING</constant> instead.
4125
+
</entry>
4126
+
</row>
4127
+
</tbody>
4128
+
</tgroup>
4129
+
</informaltable>
4130
+
'>
4131
+

4132
+
<!ENTITY strings.changelog.vsprintf '
4133
+
<informaltable xmlns="http://docbook.org/ns/docbook">
4134
+
<tgroup cols="2">
4135
+
<thead>
4136
+
<row>
4137
+
<entry>&Version;</entry>
4138
+
<entry>&Description;</entry>
4139
+
</row>
4140
+
</thead>
4141
+
<tbody>
4142
+
<row>
4143
+
<entry>8.0.0</entry>
4144
+
<entry>
4145
+
This function no longer returns &false; on failure.
4146
+
</entry>
4147
+
</row>
4148
+
<row>
4149
+
<entry>8.0.0</entry>
4150
+
<entry>
4151
+
Throw a <classname>ValueError</classname> if the number of arguments is zero;
4152
+
previously this function emitted a <constant>E_WARNING</constant> instead.
4153
+
</entry>
4154
+
</row>
4155
+
<row>
4156
+
<entry>8.0.0</entry>
4157
+
<entry>
4158
+
Throw a <classname>ValueError</classname> if <literal>[width]</literal> is less than zero or bigger than <constant>PHP_INT_MAX</constant>;
4159
+
previously this function emitted a <constant>E_WARNING</constant> instead.
4160
+
</entry>
4161
+
</row>
4162
+
<row>
4163
+
<entry>8.0.0</entry>
4164
+
<entry>
4165
+
Throw a <classname>ValueError</classname> if <literal>[precision]</literal> is less than zero or bigger than <constant>PHP_INT_MAX</constant>;
4166
+
previously this function emitted a <constant>E_WARNING</constant> instead.
4167
+
</entry>
4168
+
</row>
4169
+
<row>
4170
+
<entry>8.0.0</entry>
4171
+
<entry>
4172
+
Throw a <classname>ValueError</classname> when less arguments are given than required;
4173
+
previously this function emitted a <constant>E_WARNING</constant> instead.
4174
+
</entry>
4175
+
</row>
4176
+
</tbody>
4177
+
</tgroup>
4178
+
</informaltable>
4179
+
'>
4180
+

4181
+
<!ENTITY strings.errors.sprintf '
4182
+
<para xmlns="http://docbook.org/ns/docbook">
4183
+
As of PHP 8.0.0, a <classname>ValueError</classname> is thrown if the number of arguments is zero.
4184
+
Prior to PHP 8.0.0, a <constant>E_WARNING</constant> was emitted instead.
4185
+
</para>
4186
+
<para xmlns="http://docbook.org/ns/docbook">
4187
+
As of PHP 8.0.0, a <classname>ValueError</classname> is thrown if <literal>[width]</literal> is less than zero or bigger than <constant>PHP_INT_MAX</constant>.
4188
+
Prior to PHP 8.0.0, a <constant>E_WARNING</constant> was emitted instead.
4189
+
</para>
4190
+
<para xmlns="http://docbook.org/ns/docbook">
4191
+
As of PHP 8.0.0, a <classname>ValueError</classname> is thrown if <literal>[precision]</literal> is less than zero or bigger than <constant>PHP_INT_MAX</constant>.
4192
+
Prior to PHP 8.0.0, a <constant>E_WARNING</constant> was emitted instead.
4193
+
</para>
4194
+
<para xmlns="http://docbook.org/ns/docbook">
4195
+
As of PHP 8.0.0, a <classname>ArgumentCountError</classname> is thrown when less arguments are given than required.
4196
+
Prior to PHP 8.0.0, &false; was returned and a <constant>E_WARNING</constant> emitted instead.
4197
+
</para>
4198
+
'>
4199
+

4200
+
<!ENTITY strings.errors.vsprintf '
4201
+
<para xmlns="http://docbook.org/ns/docbook">
4202
+
As of PHP 8.0.0, a <classname>ValueError</classname> is thrown if the number of arguments is zero.
4203
+
Prior to PHP 8.0.0, a <constant>E_WARNING</constant> was emitted instead.
4204
+
</para>
4205
+
<para xmlns="http://docbook.org/ns/docbook">
4206
+
As of PHP 8.0.0, a <classname>ValueError</classname> is thrown if <literal>[width]</literal> is less than zero or bigger than <constant>PHP_INT_MAX</constant>.
4207
+
Prior to PHP 8.0.0, a <constant>E_WARNING</constant> was emitted instead.
4208
+
</para>
4209
+
<para xmlns="http://docbook.org/ns/docbook">
4210
+
As of PHP 8.0.0, a <classname>ValueError</classname> is thrown if <literal>[precision]</literal> is less than zero or bigger than <constant>PHP_INT_MAX</constant>.
4211
+
Prior to PHP 8.0.0, a <constant>E_WARNING</constant> was emitted instead.
4212
+
</para>
4213
+
<para xmlns="http://docbook.org/ns/docbook">
4214
+
As of PHP 8.0.0, a <classname>ValueError</classname> is thrown when less arguments are given than required.
4215
+
Prior to PHP 8.0.0, &false; was returned and a <constant>E_WARNING</constant> emitted instead.
4216
+
</para>
4217
+
'>
4218
+

2896
4219
<!-- filter snippets -->
2897
4220
<!ENTITY filter.param.filter '
2898
4221
<varlistentry xmlns="http://docbook.org/ns/docbook">
...
...
@@ -2915,34 +4238,65 @@ local: {
2915
4238
<!-- csprng snippets -->
2916
4239
<!ENTITY csprng.sources '
2917
4240
<para xmlns="http://docbook.org/ns/docbook">
2918
-
The sources of randomness used for this function are as follows:
4241
+
The sources of randomness in the order of priority are as follows:
2919
4242
</para>
2920
4243
<itemizedlist xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
2921
4244
<listitem>
2922
-
<simpara>
2923
-
On Windows,
2924
-
<link xlink:href="&url.csprng.crypt-gen-random;"><function>CryptGenRandom</function></link>
2925
-
will always be used. As of PHP 7.2.0, the
2926
-
<link xlink:href="&url.csprng.cng-api;">CNG-API</link>
2927
-
will always be used instead.
2928
-
</simpara>
4245
+
<para>
4246
+
Linux: <link xlink:href="&url.csprng.get-random-2;">getrandom()</link>, <filename>/dev/urandom</filename>
4247
+
</para>
2929
4248
</listitem>
2930
4249
<listitem>
2931
-
<simpara>
2932
-
On Linux, the
2933
-
<link xlink:href="&url.csprng.get-random-2;">getrandom(2)</link>
2934
-
syscall will be used if available.
2935
-
</simpara>
4250
+
<para>
4251
+
FreeBSD &gt;= 12 (PHP &gt;= 7.3): <link xlink:href="&url.csprng.get-random-2;">getrandom()</link>, <filename>/dev/urandom</filename>
4252
+
</para>
4253
+
</listitem>
4254
+
<listitem>
4255
+
<para>
4256
+
Windows (PHP &gt;= 7.2): <link xlink:href="&url.csprng.cng-api;">CNG-API</link>
4257
+
</para>
4258
+
<para>
4259
+
Windows: <link xlink:href="&url.csprng.crypt-gen-random;">CryptGenRandom</link>
4260
+
</para>
4261
+
</listitem>
4262
+
<listitem>
4263
+
<para>
4264
+
macOS (PHP &gt;= 8.2; &gt;= 8.1.9; &gt;= 8.0.22 if CCRandomGenerateBytes is available at compile time): CCRandomGenerateBytes()
4265
+
</para>
4266
+
<para>
4267
+
macOS (PHP &gt;= 8.1; &gt;= 8.0.2): arc4random_buf(), <filename>/dev/urandom</filename>
4268
+
</para>
4269
+
</listitem>
4270
+
<listitem>
4271
+
<para>
4272
+
NetBSD &gt;= 7 (PHP &gt;= 7.1; &gt;= 7.0.1): arc4random_buf(), <filename>/dev/urandom</filename>
4273
+
</para>
4274
+
</listitem>
4275
+
<listitem>
4276
+
<para>
4277
+
OpenBSD &gt;= 5.5 (PHP &gt;= 7.1; &gt;= 7.0.1): arc4random_buf(), <filename>/dev/urandom</filename>
4278
+
</para>
4279
+
</listitem>
4280
+
<listitem>
4281
+
<para>
4282
+
DragonflyBSD (PHP &gt;= 8.1): <link xlink:href="&url.csprng.get-random-2;">getrandom()</link>, <filename>/dev/urandom</filename>
4283
+
</para>
4284
+
</listitem>
4285
+
<listitem>
4286
+
<para>
4287
+
Solaris (PHP &gt;= 8.1): <link xlink:href="&url.csprng.get-random-2;">getrandom()</link>, <filename>/dev/urandom</filename>
4288
+
</para>
2936
4289
</listitem>
2937
4290
<listitem>
2938
4291
<simpara>
2939
-
On other platforms, <filename>/dev/urandom</filename> will be used.
4292
+
Any combination of operating system and PHP version not previously mentioned: <filename>/dev/urandom</filename>
2940
4293
</simpara>
2941
4294
</listitem>
2942
4295
<listitem>
2943
4296
<simpara>
2944
-
If none of the aforementioned sources are available, then an
2945
-
<classname>Exception</classname> will be thrown.
4297
+
If none of the sources are available or they all fail to generate
4298
+
randomness, then a <classname>Random\RandomException</classname>
4299
+
will be thrown.
2946
4300
</simpara>
2947
4301
</listitem>
2948
4302
</itemizedlist>
...
...
@@ -2951,13 +4305,7 @@ local: {
2951
4305
<listitem xmlns="http://docbook.org/ns/docbook">
2952
4306
<simpara>
2953
4307
If an appropriate source of randomness cannot be found,
2954
-
an <classname>Exception</classname> will be thrown.
2955
-
</simpara>
2956
-
</listitem>
2957
-
<listitem xmlns="http://docbook.org/ns/docbook">
2958
-
<simpara>
2959
-
If invalid parameters are given, a <classname>TypeError</classname>
2960
-
will be thrown.
4308
+
a <classname>Random\RandomException</classname> will be thrown.
2961
4309
</simpara>
2962
4310
</listitem>
2963
4311
'>
...
...
@@ -2971,6 +4319,15 @@ local: {
2971
4319
</note>
2972
4320
'>
2973
4321

4322
+
<!-- Random snippets -->
4323
+
<!ENTITY random.engineErrors '
4324
+
<listitem xmlns="http://docbook.org/ns/docbook">
4325
+
<simpara>
4326
+
Any <classname>Throwable</classname>s thrown by the <methodname>Random\Engine::generate</methodname> method
4327
+
of the underlying <link linkend="random-randomizer.props.engine"><literal>Random\Randomizer::$engine</literal></link>.
4328
+
</simpara>
4329
+
</listitem>
4330
+
'>
2974
4331

2975
4332
<!-- UOPZ snippets -->
2976
4333

...
...
@@ -2978,6 +4335,45 @@ local: {
2978
4335
xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
2979
4336
<emphasis>REMOVED</emphasis> in PECL uopz 5.0.0.</simpara></warning>'>
2980
4337

4338
+
<!-- XML snippets -->
4339
+
<!ENTITY xml.parser.param '<varlistentry xmlns="http://docbook.org/ns/docbook">
4340
+
<term><parameter>parser</parameter></term>
4341
+
<listitem>
4342
+
<para>
4343
+
The XML parser.
4344
+
</para>
4345
+
</listitem>
4346
+
</varlistentry>'>
4347
+

4348
+
<!ENTITY xml.handler.description '<para xmlns="http://docbook.org/ns/docbook">
4349
+
If &null; or an empty string is passed, the handler is reset to its default state.
4350
+
</para>
4351
+
<para xmlns="http://docbook.org/ns/docbook">
4352
+
If <parameter>handler</parameter> is a <type>callable</type>,
4353
+
the callable is set as the handler.
4354
+
</para>
4355
+
<para xmlns="http://docbook.org/ns/docbook">
4356
+
If <parameter>handler</parameter> is a <type>string</type>,
4357
+
it can be the name of a method of an object set with
4358
+
<function>xml_set_object</function>.
4359
+
</para>'>
4360
+

4361
+
<!ENTITY xml.handler.parser.param '<varlistentry xmlns="http://docbook.org/ns/docbook">
4362
+
<term><parameter>parser</parameter></term>
4363
+
<listitem>
4364
+
<simpara>
4365
+
The XML parser calling the handler.
4366
+
</simpara>
4367
+
</listitem>
4368
+
</varlistentry>'>
4369
+

4370
+
<!ENTITY xml.changelog.parser-param '<row xmlns="http://docbook.org/ns/docbook">
4371
+
<entry>8.0.0</entry>
4372
+
<entry>
4373
+
<parameter>parser</parameter> expects an <classname>XMLParser</classname>
4374
+
instance now; previously, a valid <literal>xml</literal> <type>resource</type> was expected.
4375
+
</entry>
4376
+
</row>'>
2981
4377

2982
4378
<!-- Migration Guide snippets -->
2983
4379
<!ENTITY migration56.openssl.peer-verification '
2984
4380