xml_set_external_entity_ref_handler(PHP 3>= 3.0.6, PHP 4) xml_set_external_entity_ref_handler - настраивает внешний обработчик экземпляров. Описаниеbool xml_set_external_entity_ref_handler (resource parser, string handler) Устанавливает функцию внешнего обработчика экземпляров для XML-разборщика
parser. Функция handler обязана принимать 5 параметров и возвращать integer-значение. Если возвращается FALSE (если никакого значения не возвращено), XML-разборщик остановит разбор, а xml_get_error_code() возвратит return XML_ERROR_EXTERNAL_ENTITY_HANDLING. handler (resource parser, string open_entity_names, string base, string system_id, string public_id)
Если функция обработчика установлена как пустая строка, или FALSE, обработчик отключается/disabled. TRUE возвращается, если обработчик настроен, а FALSE, если parser не является разборщиком.
|
||||||||||
|
||||||||||
Если вы просмотрите mysql.c, обратите внимание, что, за исключением более сложной функции connect, остальная часть модуля не изменилась.
Точно такой же интерфейс имеется для списка регулярных ресурсов и для списка постоянных ресурсов, только 'list' заменено на 'plist':
php3_plist_insert(ptr, type) - возвращает 'id' вновь вставленного ресурса
php3_plist_delete(id) - удаляет ресурс со специфицированным id
php3_plist_find(id,*type) - возвращает указатель ресурса со специфицированным id, обновляет 'type' на тип этого ресурса
Более вероятно, однако, что эти функции окажутся бесполезны при попытке реализовать постоянный модуль. Обычно бывает нужно использовать тот факт, что список постоянных ресурсов является в действительности хэш-таблицей. Например, в модулях MySQL/mSQL, когда есть вызов pconnect() (постоянное connect), функция строит строку вывода host/user/passwd, которая передаётся этой функции, и хэширует SQL-ссылку этой строкой как ключом/key. При следующем вызове pconnect() с теми же host/user/passwd, будет сгенерирован тот же key, и функция найдёт SQL-ссылку в постоянном списке.
Пока документация отсутствует, вы должны просмотреть в mysql.c или в msql.c, как можно использовать возможности хэш-таблиц plist'ов.
| |