xml_set_element_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_element_handlerSet up start and end element handlers

Опис

xml_set_element_handler(XMLParser $parser, callable|string|null $start_handler, callable|string|null $end_handler): true

Sets the element handler functions for the XML parser.

start_handler is called when a new XML element is opened. end_handler is called when an XML element is closed.

Параметри

parser

XML-парсер.

start_handler

Якщо задано null, обробник буде скинуто до його початкового стану.

Увага

Якщо задано порожній рядок, обробник також буде скинуто, проте така дія застаріла, починаючи з PHP 8.4.0.

Якщо параметр handler має тип callable, то обробником стане функція/метод, що має таку назву виклику.

Параметр handler може мати тип string, якщо це назва метода об'єкта, встановленого функцією xml_set_object().

Увага

Це є застарілим, починаючи з PHP 8.4.0.

Увага

Починаючи з PHP 8.4.0, назва виклику перевіряється на правильність під час встановлення обробника, а не під час його виклику. Це означає, що функцію xml_set_object() потрібно викликати перед встановленням назви метода, як зворотнього виклику. Однак, оскільки ця поведінка також є застарілою, починаючи з PHP 8.4.0, рекомендується використовувати правильну назву виклику (callable) методу.

The signature of the handler must be:

start_element_handler(XMLParser $parser, string $name, array $attributes): void
parser
XML-парсер, що викликає обробника.
name
Contains the name of the element for which this handler is called. If case-folding is in effect for this parser, the element name will be in uppercase letters.
attributes
An associative array with the element's attributes. The array is empty if the element has no attributes. The keys of this array are the attribute names, the values are the attribute values. Attribute names are case-folded on the same criteria as element names. Attribute values are not case-folded. The order in which attributes is traversed is identical to the order in which the attributes were declared.

end_handler

Якщо задано null, обробник буде скинуто до його початкового стану.

Увага

Якщо задано порожній рядок, обробник також буде скинуто, проте така дія застаріла, починаючи з PHP 8.4.0.

Якщо параметр handler має тип callable, то обробником стане функція/метод, що має таку назву виклику.

Параметр handler може мати тип string, якщо це назва метода об'єкта, встановленого функцією xml_set_object().

Увага

Це є застарілим, починаючи з PHP 8.4.0.

Увага

Починаючи з PHP 8.4.0, назва виклику перевіряється на правильність під час встановлення обробника, а не під час його виклику. Це означає, що функцію xml_set_object() потрібно викликати перед встановленням назви метода, як зворотнього виклику. Однак, оскільки ця поведінка також є застарілою, починаючи з PHP 8.4.0, рекомендується використовувати правильну назву виклику (callable) методу.

The signature of the handler must be:

end_element_handler(XMLParser $parser, string $name): void
parser
XML-парсер, що викликає обробника.
name
Contains the name of the element for which this handler is called. If case-folding is in effect for this parser, the element name will be in uppercase letters.

Значення, що повертаються

Завжди повертає true.

Журнал змін

Версія Опис
8.4.0 Використання не-callable рядків (string) як параметра handler тепер є застарілим. Необхідно задавати правильну назву виклику методів або null для скидання обробника.
8.4.0 Правильність параметра handler, як назви виклику (callable) тепер перевіряється на правильність під час встановлення обробника, а не під час його виклику.
8.0.0 Тепер параметр parser має бути примірником XMLParser. Раніше очікувався xml-resource.