Skip to content

Commit 224e2c1

Browse files
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. git-svn-id: https://develop.svn.wordpress.org/trunk@59055 602fd350-edb4-49c9-b593-d223f7449a82
1 parent 1324176 commit 224e2c1

File tree

1 file changed

+0
-1
lines changed

1 file changed

+0
-1
lines changed

tests/phpunit/includes/utils.php

-1
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,6 @@ class TestXMLParser {
295295
*/
296296
public function __construct( $in ) {
297297
$this->xml = xml_parser_create();
298-
xml_set_object( $this->xml, $this );
299298
xml_parser_set_option( $this->xml, XML_OPTION_CASE_FOLDING, 0 );
300299
xml_set_element_handler( $this->xml, array( $this, 'start_handler' ), array( $this, 'end_handler' ) );
301300
xml_set_character_data_handler( $this->xml, array( $this, 'data_handler' ) );

0 commit comments

Comments
 (0)