Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
PHP 8.4 | Remove use of xml_set_object()
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. ```php 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: ```php 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 these deprecations for this codebase. 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
- Loading branch information