com_create_guid
<<<
com_event_sink com_get_active_object
>>>

8.12 COM et .Net (Windows)
8 Référence des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
For Each
Tableaux et propriétées à la façon des tableaux de COM
Exceptions (PHP 5)
Configuration à l'exécution
Constantes pré-définies
Voir aussi
com
DOTNET
VARIANT
com_addref
com_create_guid
->com_event_sink
com_get_active_object
com_get
com_invoke
com_isenum
com_load_typelib
com_load
com_message_pump
com_print_typeinfo
com_propget
com_propput
com_propset
com_release
com_set
variant_abs
variant_add
variant_and
variant_cast
variant_cat
variant_cmp
variant_date_from_timestamp
variant_date_to_timestamp
variant_div
variant_eqv
variant_fix
variant_get_type
variant_idiv
variant_imp
variant_int
variant_mod
variant_mul
variant_neg
variant_not
variant_or
variant_pow
variant_round
variant_set_type
variant_set
variant_sub
variant_xor

8.12.15 com_event_sink() Connecte des événements d'un objet COM sur un objet PHP

[ Exemples avec com_event_sink ]   PHP 4 >= 4.2.3, PHP 5

bool  com_event_sink ( variant   comobject , object   sinkobject , mixed   sinkinterface )

com_event_sink connecte des événements de l'objet COM comobject sur un l'objet PHP sinkobject . 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.

sinkobject devra être une instance de la classe avec des noms de méthodes suivant le dispinterface désiré ; vous devriez utilisé com_print_typeinfo pour l'aide à la génération d'un gabarit de classe pour cela.

Soyez prudent sur l'utilisation de cette fonctionnalité ; si vous faîtes quelque chose de similaire à l'exemple ci-dessous, cela n'a pas de sens de le lancer sur un serveur Web.

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
"Quitter!\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.php.net");
while(!
$sink->terminated) {
  
com_message_pump(4000);
}
$ie = null;
?>

Voir aussi com_print_typeinfo et com_message_pump .

<< com_event_sink >>
com_create_guid COM et .Net (Windows) com_get_active_object