array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.ibase-set-event-handler.php', 1 => 'ibase_set_event_handler', ), 'up' => array ( 0 => 'ref.ibase.php', 1 => 'Функции Firebird/InterBase', ), 'prev' => array ( 0 => 'function.ibase-service-detach.php', 1 => 'ibase_service_detach', ), 'next' => array ( 0 => 'function.ibase-trans.php', 1 => 'ibase_trans', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/ibase/functions/ibase-set-event-handler.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5, PHP 7 < 7.4.0)
ibase_set_event_handler — Регистрирует callback-функцию, которая будет вызываться при публикации событий
$event_handler
, string $event_name
, string ...$even_names
): resource$connection
,$event_handler
,$event_name
,...$event_names
Функция регистрирует пользовательскую функцию PHP в качестве обработчика событий для указанных событий.
event_handler
Callback-функция вызывается с именем события и ресурсом ссылки в качестве аргументов всякий раз, когда одно из указанных событий публикуется базой данных.
Callback-функция должна возвращать false
,
если обработчик события должен быть отменён.
Любое другое возвращаемое значение игнорируется.
Функция принимает до 15 аргументов события.
event_name
Наименование события.
event_names
Разрешено максимум 15 событий.
Возвращаемое значение является ресурсом события. Этот ресурс можно использовать для освобождения обработчика событий с помощью ibase_free_event_handler().
Пример #1 Пример использования ibase_set_event_handler()
<?php
function event_handler($event_name, $link)
{
if ($event_name == "NEW ORDER") {
// обрабатываем новый заказ
ibase_query($link, "UPDATE orders SET status='handled'");
} else if ($event_name == "DB_SHUTDOWN") {
// отменяем обработчик событий
return false;
}
}
ibase_set_event_handler($link, "event_handler", "NEW_ORDER", "DB_SHUTDOWN");
?>