(PHP 4 >= 4.2.0, PHP 5)
com_event_sink — Conectar eventos de un objeto COM a un objeto PHP
   Ordena a COM que eventos generados por
   comobject sean absorbidos por el objeto PHP
   sinkobject.
  
Tenga cuidado en cómo use esta característica; si está haciendo algo similar al ejemplo de abajo, no tiene sentido ejecutarla en un contexto de servidor web.
comobject
sinkobject
       sinkobject debería ser una instancia de una clase con
       métodos nombrados después de aquellos de la dispinterfaz deseada; se puede usar
       com_print_typeinfo() para ayudar a generar una clase plantilla
       para este propósito.
      
sinkinterface
       PHP intentará usar el tipo de dispinterfaz predeterminado especificado por
       la biblioteca de tipos asociada con comobject, pero
       se puede sobrescribir esta opción estableciendo
       sinkinterface al nombre de la dispinterfaz
       que se desea usar.
      
   Devuelve TRUE en caso de éxito o FALSE en caso de error.
  
Ejemplo #1 Ejemplo de absorción de un evento COM
<?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;
?>