[wp-trac] [WordPress Trac] #62061: Prepare for PHP 8.4
WordPress Trac
noreply at wordpress.org
Wed Sep 18 17:24:46 UTC 2024
#62061: Prepare for PHP 8.4
---------------------------------------------+-----------------------------
Reporter: jrf | Owner: (none)
Type: task (blessed) | Status: new
Priority: normal | Milestone: 6.7
Component: General | Version:
Severity: normal | Resolution:
Keywords: php-84 has-patch has-unit-tests | Focuses: php-
| compatibility
---------------------------------------------+-----------------------------
Comment (by hellofromTonya):
In [changeset:"59055" 59055]:
{{{
#!CommitTicketReference repository="" revision="59055"
Tests: Remove use of xml_set_object() in TestXMLParser.
The XML Parser extension still supports a quite dated mechanism for method
based callbacks, where the object is first set via `xml_set_object()` and
the callbacks are then set by passing only the name of the method to the
relevant parameters on any of the `xml_set_*_handler()` functions.
{{{
xml_set_object( $parser, $my_obj );
xml_set_character_data_handler( $parser, 'method_name_on_my_obj' );
}}}
Passing proper callables to the `xml_set_*_handler()` functions has been
supported for the longest time and is cross-version compatible. So the
above code is 100% equivalent to:
{{{
xml_set_character_data_handler( $parser, [$my_obj,
'method_name_on_my_obj'] );
}}}
The mechanism of setting the callbacks with `xml_set_object()` has now
been deprecated as of PHP 8.4, in favour of passing proper callables to
the `xml_set_*_handler()` functions. This is also means that calling the
`xml_set_object()` function is deprecated as well.
This commit fixes this deprecation for the `TestXMLParser` helper utility.
In this case, the callbacks were already using the recommended format and
the call to `xml_set_object()` was completely redundant.
As this is a test utility and was already causing pre-existing tests using
the utility to fail, there is no need for dedicated tests to cover this
change.
Refs:
*
https://wiki.php.net/rfc/deprecations_php_8_4#xml_set_object_and_xml_set_handler_with_string_method_names
* https://www.php.net/manual/en/function.xml-set-object.php
* https://www.php.net/manual/en/ref.xml.php
Follow-up to [25002].
Props jrf.
See #62061.
}}}
--
Ticket URL: <https://core.trac.wordpress.org/ticket/62061#comment:20>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list