(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_element_handler — Устанавливает обработчик начального и конечного элементов
$parser
, callable|string|null $start_handler
, callable|string|null $end_handler
): true
Функция устанавливает функцию-обработчик элементов для XML-анализатора
parser
.
Параметр start_handler
вызывается при открытии нового XML-элемента.
Параметр end_handler
вызывается при закрытии XML-элемента.
parser
XML-парсер.
start_handler
При передаче значения null
обработчик возвращается в состояние по умолчанию.
Пустая строка тоже сбросит обработчик, однако начиная с PHP 8.4.0 передача в параметр пустой строки устарела.
Функция установит как обработчик функцию, на которую указывает callable-выражение,
если в параметр handler
передали значение, которое вызывается как функция.
Параметр handler
принимает строку (string)
с названием метода объекта, который установили функцией xml_set_object().
Начиная с PHP 8.4.0 передача в параметр строки с названием метода устарела.
Начиная с PHP 8.4.0 корректность callable-выражения проверяется при установке, а не при вызове обработчика. Поэтому вызвать функцию xml_set_object() потребуется до установки строки с названием метода, который вызывается как callback-функция. Однако, поскольку такое поведение тоже устарело с PHP 8.4.0, вместо передачи строки с названием метода рекомендуют указывать метод в правильном callable-выражении.
Сигнатуру обработчика определяют вот так:
parser
name
attributes
attributes
идентичен порядку объявления атрибутов.
end_element
При передаче значения null
обработчик возвращается в состояние по умолчанию.
Пустая строка тоже сбросит обработчик, однако начиная с PHP 8.4.0 передача в параметр пустой строки устарела.
Функция установит как обработчик функцию, на которую указывает callable-выражение,
если в параметр handler
передали значение, которое вызывается как функция.
Параметр handler
принимает строку (string)
с названием метода объекта, который установили функцией xml_set_object().
Начиная с PHP 8.4.0 передача в параметр строки с названием метода устарела.
Начиная с PHP 8.4.0 корректность callable-выражения проверяется при установке, а не при вызове обработчика. Поэтому вызвать функцию xml_set_object() потребуется до установки строки с названием метода, который вызывается как callback-функция. Однако, поскольку такое поведение тоже устарело с PHP 8.4.0, вместо передачи строки с названием метода рекомендуют указывать метод в правильном callable-выражении.
Сигнатуру обработчика определяют вот так:
parser
name
Функция возвращает логическое значение true
.
Версия | Описание |
---|---|
8.4.0 |
Передача в параметр handler строки (string),
которую невозможно вызывать как callable-выражение, устарела;
теперь рекомендуют передавать в параметр правильное callable-выражение для установки метода
или null для сброса обработчика.
|
8.4.0 |
Корректность обработчика handler как callable-выражения
теперь проверяется при установке обработчика, а не при вызове.
|
8.0.0 |
Параметр parser ожидает экземпляр класса XMLParser;
раньше параметр ждал корректный xml -ресурс (resource).
|