com_event_sink - Connect events from a COM object to a PHP object
Вернуться к: COM Функции
com_event_sink
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
com_event_sink — Connect events from a COM object to a PHP object
Описание
Instructs COM to sink events generated by
comobject into the PHP object
sinkobject.
Be careful how you use this feature; if you are doing something similar to the example below, then it doesn't really make sense to run it in a web server context.
Список параметров
-
comobject -
-
sinkobject -
sinkobjectshould be an instance of a class with methods named after those of the desired dispinterface; you may use com_print_typeinfo() to help generate a template class for this purpose. -
sinkinterface -
PHP will attempt to use the default dispinterface type specified by the typelibrary associated with
comobject, but you may override this choice by settingsinkinterfaceto the name of the dispinterface that you want to use.
Возвращаемые значения
Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
Примеры
Пример #1 COM event sink example
<?php
class IEEventSinker {
var $terminated = false;
function ProgressChange($progress, $progressmax) {
echo "Download progress: $progress / $progressmax\n";
}
function DocumentComplete(&$dom, $url) {
echo "Document $url complete\n";
}
function OnQuit() {
echo "Quit!\n";
$this->terminated = true;
}
}
$ie = new COM("InternetExplorer.Application");
// note that you don't need the & for PHP 5!
$sink = new IEEventSinker();
com_event_sink($ie, $sink, "DWebBrowserEvents2");
$ie->Visible = true;
$ie->Navigate("http://www.example.org");
while(!$sink->terminated) {
com_message_pump(4000);
}
$ie = null;
?>
Смотрите также
- com_print_typeinfo() - Print out a PHP class definition for a dispatchable interface
- com_message_pump() - Process COM messages, sleeping for up to timeoutms milliseconds
Вернуться к: COM Функции