Функции Язык программирования PHP

xptr_eval

(PHP 4 >= 4.0.4)

xptr_eval - вычисляет XPtr Location Path в данной строке.

Описание

int xptr_eval ([object xpath_context, string eval_str])

Предупреждение!

Эта функция в настоящее время ещё не задокументирована; имеется только список аргументов.


Назад Оглавление Вперёд
xpath_new_context Вверх xptr_new_context

Использование постоянной таблицы ресурсов

Одно важное замечание: ресурсы, входящие в список постоянных ресурсов обязаны *НЕ* размещаться менеджером памяти PHP, т.е. они НЕ должны создаваться с помощью emalloc(), estrdup(), etc.
Вместо этого нужно использовать регулярные malloc(), strdup(), etc.
Причина проста - в конце запроса (в конце запуска) каждый участок памяти, выделенный менеджером памяти PHP, удаляется. Поскольку не предполагается удаление постоянного списка в конце запроса, менеджер памяти PHP нельзя использовать для размещения ресурсов, входящих в этот список.

Если вы регистрируете ресурс, вводимый в постоянный список, вы должны добавить для него деструктор как в постоянный, так и в непостоянный списки. Деструктор в деструкторе непостоянного списка ничего делать не должен. Деструктор в деструкторе постоянного списка должен соответствующим образом освобождать ресурсы, полученные данным типом (память, SQL-ссылки etc). Как и с непостоянными ресурсами, вы *ОБЯЗАНЫ* добавить деструкторы каждому ресурсу, даже если он не требует уничтожения и деструктор может быть пустым. Запомните: поскольку emalloc() и компания не используются в сочетании с постоянным списком, вы обязаны не использовать здесь efree() вообще.