array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), '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' => 'ja', '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 — イベントが発生した際にコールされるコールバック関数を登録する
$event_handler
, string $event_name
, string ...$even_names
): resource$connection
,$event_handler
,$event_name
,...$event_names
この関数は、指定したイベントのハンドラとして PHP ユーザー関数を登録します。
event_handler
コールバックは、データベースから特定のイベントが送信された場合に、 イベント名とリンクリソースを引数としてコールされます。
イベントハンドラがキャンセルされた場合は、
コールバックは 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");
?>