そのまんま!

ibase_set_event_handler

(PHP 5)

ibase_set_event_handler --  イベントが発生した際にコールされるコールバック関数を登録する

説明

resource ibase_set_event_handler ( callback event_handler, string event_name1 [, string event_name2 [, string ...]] )

resource ibase_set_event_handler ( resource connection, callback event_handler, string event_name1 [, string event_name2 [, string ...]] )

この関数は、指定したイベントのハンドラとして PHP ユーザ関数を登録します。 コールバックは、データベースから特定のイベントが送信された場合に、 イベント名とリンクリソースを引数としてコールされます。イベントハンドラが キャンセルされた場合は、コールバックは FALSE を返す必要があります。 その他の返り値は無視されます。この関数は、最大 15 のイベントを 引数として受け取ります。

<?php

function event_handler($event_name, $link)
{
    if (
$event_name=="NEW ORDER") {
        
// process new order
        
ibase_query($link, "UPDATE orders SET status='handled'");
    } else if (
$event_name=="DB_SHUTDOWN") {
        
// free event handler
        
return false;
    }
}

ibase_set_event_handler($link, "event_handler", "NEW_ORDER", "DB_SHUTDOWN");
?>

返される値はイベントのリソースです。このリソースは、 ibase_free_event_handler() でイベントハンドラを 開放する際に使用可能です。

ibase_free_event_handler() および ibase_wait_event() も参照ください。