(PHP 4 >= 4.2.0, PHP 5, PHP 7)
com_event_sink — Connecte des événements d'un objet COM sur un objet PHP
   Connecte des événements de l'objet COM
   comobject sur un l'objet PHP
   sinkobject.
  
Soyez prudent sur l'utilisation de cette fonctionnalité ; si vous faites quelque chose de similaire à l'exemple ci-dessous, cela n'a pas de sens de le lancer sur un serveur Web.
comobject
sinkobject
       sinkobject devra être une instance de la classe
       avec des noms de méthodes suivant le dispinterface désiré ; vous devriez
       utiliser com_print_typeinfo() pour l'aide à la
       génération d'un gabarit de classe pour cela.
      
sinkinterface
       PHP devrait être capable d'utiliser le type par défaut de dispinterface
       spécifié par la Typelib associée avec l'objet comobject,
       mais vous pouvez changer cela en spécifiant dans le paramètre
       sinkinterface le dispinterface que vous
       souhaitez utiliser.
      
   Cette fonction retourne TRUE en cas de
succès ou FALSE si une erreur survient.
  
Exemple #1 Exemple de connexions d'événements COM
<?php
class IEEventSinker {
    var $terminated = false;
   function ProgressChange($progress, $progressmax) {
      echo "Progression du téléchargement : $progress / $progressmax\n";
    }
    function DocumentComplete(&$dom, $url) {
      echo "Document $url terminé\n";
    }
    function OnQuit() {
      echo "Quit!\n";
      $this->terminated = true;
    }
}
$ie = new COM("InternetExplorer.Application");
// notez que vous n'avez pas besoin du & en 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;
?>