[doc-en] master: Document 8.6 SPL deprecations (#6024)
| From: | Pierre Ambroise via GitHub | Date: | Mon, 02 Nov 2026 09:16:21 +0000 |
| Subject: | [doc-en] master: Document 8.6 SPL deprecations (#6024) | ||
| Groups: | php.doc.cvs | ||
| Request: | Send a blank email to doc-cvs+get-23905@lists.php.net to get a copy of this message | ||
Author: Pierre Ambroise (Fan2Shrek)
Committer: GitHub (web-flow)
Pusher: jordikroon
Date: 2026-11-02T10:16:17+01:00
Commit: https://github.com/php/doc-en/commit/aaefe41543d382f0753f581cd3053a46f54d2414
Raw diff: https://github.com/php/doc-en/commit/aaefe41543d382f0753f581cd3053a46f54d2414.diff
Document 8.6 SPL deprecations (#6024)
Changed paths:
M language-snippets.ent
M reference/spl/arrayiterator/asort.xml
M reference/spl/arrayiterator/getflags.xml
M reference/spl/arrayiterator/ksort.xml
M reference/spl/arrayiterator/natcasesort.xml
M reference/spl/arrayiterator/natsort.xml
M reference/spl/arrayiterator/serialize.xml
M reference/spl/arrayiterator/setflags.xml
M reference/spl/arrayiterator/uasort.xml
M reference/spl/arrayiterator/uksort.xml
M reference/spl/arrayiterator/unserialize.xml
M reference/spl/functions/spl-classes.xml
M reference/spl/functions/spl-object-hash.xml
M reference/spl/splfileobject/fgetcsv.xml
M reference/spl/splfileobject/fputcsv.xml
M reference/spl/splfileobject/getcsvcontrol.xml
M reference/spl/splfileobject/setcsvcontrol.xml
Diff:
diff --git a/language-snippets.ent b/language-snippets.ent
index 24cc84efe6f7..c287327f71da 100644
--- a/language-snippets.ent
+++ b/language-snippets.ent
@@ -329,6 +329,11 @@ xmlns="http://docbook.org/ns/docbook"><simpara>This
function has been
<emphasis>DEPRECATED</emphasis> as of PHP 8.5.0. Relying on this function
is highly discouraged.</simpara></warning>'>
+<!ENTITY warn.deprecated.function-8-6-0 '<warning
+xmlns="http://docbook.org/ns/docbook"><simpara>This
function has been
+<emphasis>DEPRECATED</emphasis> as of PHP 8.6.0. Relying on this function
+is highly discouraged.</simpara></warning>'>
+
<!ENTITY removed.php.future 'This deprecated feature <emphasis xmlns="http://docbook.org/ns/docbook">will</emphasis>
certainly be <emphasis xmlns="http://docbook.org/ns/docbook">removed</emphasis>
in the future.'>
diff --git a/reference/spl/arrayiterator/asort.xml b/reference/spl/arrayiterator/asort.xml
index 447737e32ebf..086d8a7eafbf 100644
--- a/reference/spl/arrayiterator/asort.xml
+++ b/reference/spl/arrayiterator/asort.xml
@@ -6,9 +6,14 @@
<refpurpose>Sort entries by values</refpurpose>
</refnamediv>
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="ArrayIterator">
+ <modifier role="attribute">#[\Deprecated(since:
'8.6')]</modifier>
<modifier>public</modifier>
<type>true</type><methodname>ArrayIterator::asort</methodname>
<methodparam
choice="opt"><type>int</type><parameter>flags</parameter><initializer><constant>SORT_REGULAR</constant></initializer></methodparam>
</methodsynopsis>
@@ -44,6 +49,12 @@
</row>
</thead>
<tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This method has been deprecated.
+ </entry>
+ </row>
&return.type.true;
</tbody>
</tgroup>
diff --git a/reference/spl/arrayiterator/getflags.xml b/reference/spl/arrayiterator/getflags.xml
index c8776b7c3fc6..c101b2936944 100644
--- a/reference/spl/arrayiterator/getflags.xml
+++ b/reference/spl/arrayiterator/getflags.xml
@@ -6,9 +6,14 @@
<refpurpose>Get behavior flags</refpurpose>
</refnamediv>
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="ArrayIterator">
+ <modifier role="attribute">#[\Deprecated(since:
'8.6')]</modifier>
<modifier>public</modifier>
<type>int</type><methodname>ArrayIterator::getFlags</methodname>
<void/>
</methodsynopsis>
@@ -31,6 +36,28 @@
</para>
</refsect1>
+ <refsect1 role="changelog">
+ &reftitle.changelog;
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This method has been deprecated.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </refsect1>
+
<refsect1 role="seealso">
&reftitle.seealso;
<para>
diff --git a/reference/spl/arrayiterator/ksort.xml b/reference/spl/arrayiterator/ksort.xml
index 575e8cedd225..8befe64d3ebc 100644
--- a/reference/spl/arrayiterator/ksort.xml
+++ b/reference/spl/arrayiterator/ksort.xml
@@ -6,9 +6,14 @@
<refpurpose>Sort entries by keys</refpurpose>
</refnamediv>
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="ArrayIterator">
+ <modifier role="attribute">#[\Deprecated(since:
'8.6')]</modifier>
<modifier>public</modifier>
<type>true</type><methodname>ArrayIterator::ksort</methodname>
<methodparam
choice="opt"><type>int</type><parameter>flags</parameter><initializer><constant>SORT_REGULAR</constant></initializer></methodparam>
</methodsynopsis>
@@ -44,6 +49,12 @@
</row>
</thead>
<tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This method has been deprecated.
+ </entry>
+ </row>
&return.type.true;
</tbody>
</tgroup>
diff --git a/reference/spl/arrayiterator/natcasesort.xml
b/reference/spl/arrayiterator/natcasesort.xml
index 61917786dabd..eae1985dfabd 100644
--- a/reference/spl/arrayiterator/natcasesort.xml
+++ b/reference/spl/arrayiterator/natcasesort.xml
@@ -6,9 +6,14 @@
<refpurpose>Sort entries naturally, case insensitive</refpurpose>
</refnamediv>
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="ArrayIterator">
+ <modifier role="attribute">#[\Deprecated(since:
'8.6')]</modifier>
<modifier>public</modifier>
<type>true</type><methodname>ArrayIterator::natcasesort</methodname>
<void/>
</methodsynopsis>
@@ -42,6 +47,12 @@
</row>
</thead>
<tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This method has been deprecated.
+ </entry>
+ </row>
&return.type.true;
</tbody>
</tgroup>
diff --git a/reference/spl/arrayiterator/natsort.xml b/reference/spl/arrayiterator/natsort.xml
index b5eef1549af4..e905a76b906d 100644
--- a/reference/spl/arrayiterator/natsort.xml
+++ b/reference/spl/arrayiterator/natsort.xml
@@ -6,9 +6,14 @@
<refpurpose>Sort entries naturally</refpurpose>
</refnamediv>
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="ArrayIterator">
+ <modifier role="attribute">#[\Deprecated(since:
'8.6')]</modifier>
<modifier>public</modifier>
<type>true</type><methodname>ArrayIterator::natsort</methodname>
<void/>
</methodsynopsis>
@@ -42,6 +47,12 @@
</row>
</thead>
<tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This method has been deprecated.
+ </entry>
+ </row>
&return.type.true;
</tbody>
</tgroup>
diff --git a/reference/spl/arrayiterator/serialize.xml b/reference/spl/arrayiterator/serialize.xml
index 038537df2258..9f39464ceeb3 100644
--- a/reference/spl/arrayiterator/serialize.xml
+++ b/reference/spl/arrayiterator/serialize.xml
@@ -6,9 +6,14 @@
<refpurpose>Serialize</refpurpose>
</refnamediv>
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="ArrayIterator">
+ <modifier role="attribute">#[\Deprecated(since:
'8.6')]</modifier>
<modifier>public</modifier>
<type>string</type><methodname>ArrayIterator::serialize</methodname>
<void/>
</methodsynopsis>
@@ -32,6 +37,28 @@
</para>
</refsect1>
+ <refsect1 role="changelog">
+ &reftitle.changelog;
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This method has been deprecated.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </refsect1>
+
<refsect1 role="seealso">
&reftitle.seealso;
<para>
diff --git a/reference/spl/arrayiterator/setflags.xml b/reference/spl/arrayiterator/setflags.xml
index f04fee16e80a..df861251ee12 100644
--- a/reference/spl/arrayiterator/setflags.xml
+++ b/reference/spl/arrayiterator/setflags.xml
@@ -6,9 +6,14 @@
<refpurpose>Set behaviour flags</refpurpose>
</refnamediv>
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="ArrayIterator">
+ <modifier role="attribute">#[\Deprecated(since:
'8.6')]</modifier>
<modifier>public</modifier>
<type>void</type><methodname>ArrayIterator::setFlags</methodname>
<methodparam><type>int</type><parameter>flags</parameter></methodparam>
</methodsynopsis>
@@ -73,6 +78,28 @@
</para>
</refsect1>
+ <refsect1 role="changelog">
+ &reftitle.changelog;
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This method has been deprecated.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </refsect1>
+
<refsect1 role="seealso">
&reftitle.seealso;
<para>
diff --git a/reference/spl/arrayiterator/uasort.xml b/reference/spl/arrayiterator/uasort.xml
index e943168db4a3..ee0190070e40 100644
--- a/reference/spl/arrayiterator/uasort.xml
+++ b/reference/spl/arrayiterator/uasort.xml
@@ -6,9 +6,14 @@
<refpurpose>Sort with a user-defined comparison function and maintain index
association</refpurpose>
</refnamediv>
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="ArrayIterator">
+ <modifier role="attribute">#[\Deprecated(since:
'8.6')]</modifier>
<modifier>public</modifier>
<type>true</type><methodname>ArrayIterator::uasort</methodname>
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
</methodsynopsis>
@@ -53,6 +58,12 @@
</row>
</thead>
<tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This method has been deprecated.
+ </entry>
+ </row>
&return.type.true;
</tbody>
</tgroup>
diff --git a/reference/spl/arrayiterator/uksort.xml b/reference/spl/arrayiterator/uksort.xml
index 18d4183d18c7..dbe8d5c41068 100644
--- a/reference/spl/arrayiterator/uksort.xml
+++ b/reference/spl/arrayiterator/uksort.xml
@@ -6,9 +6,14 @@
<refpurpose>Sort by keys using a user-defined comparison function</refpurpose>
</refnamediv>
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="ArrayIterator">
+ <modifier role="attribute">#[\Deprecated(since:
'8.6')]</modifier>
<modifier>public</modifier>
<type>true</type><methodname>ArrayIterator::uksort</methodname>
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
</methodsynopsis>
@@ -52,6 +57,12 @@
</row>
</thead>
<tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This method has been deprecated.
+ </entry>
+ </row>
&return.type.true;
</tbody>
</tgroup>
diff --git a/reference/spl/arrayiterator/unserialize.xml
b/reference/spl/arrayiterator/unserialize.xml
index 2eb1c8064a34..8f0f37e8bce0 100644
--- a/reference/spl/arrayiterator/unserialize.xml
+++ b/reference/spl/arrayiterator/unserialize.xml
@@ -6,9 +6,14 @@
<refpurpose>Unserialize</refpurpose>
</refnamediv>
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="ArrayIterator">
+ <modifier role="attribute">#[\Deprecated(since:
'8.6')]</modifier>
<modifier>public</modifier>
<type>void</type><methodname>ArrayIterator::unserialize</methodname>
<methodparam><type>string</type><parameter>data</parameter></methodparam>
</methodsynopsis>
@@ -43,6 +48,28 @@
</para>
</refsect1>
+ <refsect1 role="changelog">
+ &reftitle.changelog;
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This method has been deprecated.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </refsect1>
+
<refsect1 role="seealso">
&reftitle.seealso;
<para>
diff --git a/reference/spl/functions/spl-classes.xml b/reference/spl/functions/spl-classes.xml
index 27e7ef299756..66fc6889c8cb 100644
--- a/reference/spl/functions/spl-classes.xml
+++ b/reference/spl/functions/spl-classes.xml
@@ -5,9 +5,15 @@
<refname>spl_classes</refname>
<refpurpose>Return available SPL classes</refpurpose>
</refnamediv>
+
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
+ <modifier role="attribute">#[\Deprecated(since: '8.6', message:
"use ReflectionExtension::getClassNames() instead")]</modifier>
<type>array</type><methodname>spl_classes</methodname>
<void/>
</methodsynopsis>
@@ -27,7 +33,29 @@
Returns an <type>array</type> containing the currently available SPL classes.
</para>
</refsect1>
-
+
+ <refsect1 role="changelog">
+ &reftitle.changelog;
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This function has been deprecated.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </refsect1>
+
<refsect1 role="examples">
&reftitle.examples;
<para>
diff --git a/reference/spl/functions/spl-object-hash.xml
b/reference/spl/functions/spl-object-hash.xml
index f4e3deacfd24..12bd3aae9119 100644
--- a/reference/spl/functions/spl-object-hash.xml
+++ b/reference/spl/functions/spl-object-hash.xml
@@ -7,9 +7,15 @@
Return hash id for given object
</refpurpose>
</refnamediv>
+
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
+ <modifier role="attribute">#[\Deprecated(since: '8.6', message:
"consider using spl_object_id() instead")]</modifier>
<type>string</type><methodname>spl_object_hash</methodname>
<methodparam><type>object</type><parameter>object</parameter></methodparam>
</methodsynopsis>
@@ -46,6 +52,28 @@
</para>
</refsect1>
+ <refsect1 role="changelog">
+ &reftitle.changelog;
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This function has been deprecated.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </refsect1>
+
<refsect1 role="examples">
&reftitle.examples;
<para>
diff --git a/reference/spl/splfileobject/fgetcsv.xml b/reference/spl/splfileobject/fgetcsv.xml
index 2838ffbe1c4e..0a18dfdc2b65 100644
--- a/reference/spl/splfileobject/fgetcsv.xml
+++ b/reference/spl/splfileobject/fgetcsv.xml
@@ -6,9 +6,14 @@
<refpurpose>Gets line from file and parse as CSV fields</refpurpose>
</refnamediv>
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="SplFileObject">
+ <modifier role="attribute">#[\Deprecated(since:
'8.6')]</modifier>
<modifier>public</modifier> <type
class="union"><type>array</type><type>false</type></type><methodname>SplFileObject::fgetcsv</methodname>
<methodparam
choice="opt"><type>string</type><parameter>separator</parameter><initializer>","</initializer></methodparam>
<methodparam
choice="opt"><type>string</type><parameter>enclosure</parameter><initializer>"\""</initializer></methodparam>
@@ -98,6 +103,12 @@
</row>
</thead>
<tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This method has been deprecated.
+ </entry>
+ </row>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook)
xpointer(id('function.fgetcsv')/db:refsect1[@role='changelog']//db:row[db:entry[text()='8.4.0']]/.)"/>
<row>
<entry>7.4.0</entry>
diff --git a/reference/spl/splfileobject/fputcsv.xml b/reference/spl/splfileobject/fputcsv.xml
index 99798c4af7a3..020976c41d4b 100644
--- a/reference/spl/splfileobject/fputcsv.xml
+++ b/reference/spl/splfileobject/fputcsv.xml
@@ -6,9 +6,14 @@
<refpurpose>Write a field array as a CSV line</refpurpose>
</refnamediv>
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="SplFileObject">
+ <modifier role="attribute">#[\Deprecated(since:
'8.6')]</modifier>
<modifier>public</modifier> <type
class="union"><type>int</type><type>false</type></type><methodname>SplFileObject::fputcsv</methodname>
<methodparam><type>array</type><parameter>fields</parameter></methodparam>
<methodparam
choice="opt"><type>string</type><parameter>separator</parameter><initializer>","</initializer></methodparam>
@@ -77,6 +82,12 @@
</row>
</thead>
<tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This method has been deprecated.
+ </entry>
+ </row>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook)
xpointer(id('function.fgetcsv')/db:refsect1[@role='changelog']//db:row[db:entry[text()='8.4.0']]/.)"/>
<row>
<entry>8.1.0</entry>
diff --git a/reference/spl/splfileobject/getcsvcontrol.xml
b/reference/spl/splfileobject/getcsvcontrol.xml
index bd2b1475b317..aa1b4da205c3 100644
--- a/reference/spl/splfileobject/getcsvcontrol.xml
+++ b/reference/spl/splfileobject/getcsvcontrol.xml
@@ -6,9 +6,14 @@
<refpurpose>Get the delimiter, enclosure and escape character for CSV</refpurpose>
</refnamediv>
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="SplFileObject">
+ <modifier role="attribute">#[\Deprecated(since:
'8.6')]</modifier>
<modifier>public</modifier>
<type>array</type><methodname>SplFileObject::getCsvControl</methodname>
<void/>
</methodsynopsis>
@@ -42,6 +47,12 @@
</row>
</thead>
<tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This method has been deprecated.
+ </entry>
+ </row>
<row>
<entry>7.4.0</entry>
<entry>
diff --git a/reference/spl/splfileobject/setcsvcontrol.xml
b/reference/spl/splfileobject/setcsvcontrol.xml
index e45bd72858c9..fafbe1c32504 100644
--- a/reference/spl/splfileobject/setcsvcontrol.xml
+++ b/reference/spl/splfileobject/setcsvcontrol.xml
@@ -6,9 +6,14 @@
<refpurpose>Set the delimiter, enclosure and escape character for CSV</refpurpose>
</refnamediv>
+ <refsynopsisdiv>
+ &warn.deprecated.function-8-6-0;
+ </refsynopsisdiv>
+
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="SplFileObject">
+ <modifier role="attribute">#[\Deprecated(since:
'8.6')]</modifier>
<modifier>public</modifier>
<type>void</type><methodname>SplFileObject::setCsvControl</methodname>
<methodparam
choice="opt"><type>string</type><parameter>separator</parameter><initializer>","</initializer></methodparam>
<methodparam
choice="opt"><type>string</type><parameter>enclosure</parameter><initializer>"\""</initializer></methodparam>
@@ -51,6 +56,12 @@
</row>
</thead>
<tbody>
+ <row>
+ <entry>8.6.0</entry>
+ <entry>
+ This method has been deprecated.
+ </entry>
+ </row>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook)
xpointer(id('function.fgetcsv')/db:refsect1[@role='changelog']//db:row[db:entry[text()='8.4.0']]/.)"/>
<row>
<entry>7.4.0</entry>