|
com_event_sink
Connect events from a COM object to a PHP object
(PHP 4 >= 4.2.0, PHP 5)
Instructs COM to sink events generated by comobject into the PHP object sinkobject. PHP will attempt to use the default dispinterface type specified by the typelibrary associated with comobject, but you may override this choice by setting sinkinterface to the name of the dispinterface that you want to use. sinkobject should 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. 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. Example 410. COM event sink example<?php See also com_print_typeinfo(), com_message_pump(). Code Examples / Notes » com_event_sinkfjortiz
In case someone needs a skeleton sink for ADODB.Connection events: class ADOConnectionEventSink { function BeginTransComplete( $translevel, $objerror, $status, $objconn ) { return 0; } function CommitTransComplete( $objerror, $status, $objconn ) { return 0; } function RolbackTransComplete( $objerror, $status, $objconn ) { return 0; } function WillConnect ( $ConnectionString, $userid, $psword, $options, $status, $objconn ) { return 0; } function ConnectComplete ( $objerror, $status, $objconn) { return 0; } function Disconnect( $status, $objConn ) { return 0; } function WillExecute ( $src, $cursortyp, $locktyp, $options, $status, $objcomm, $objrs, $objconn ) { return 0; } function ExecuteComplete ( $recaffected, $objerror, $status, $objcomm, $objrs, $objconn ) { return 0; } function InfoMessage ( $objerror, $status, $objconn) { return 0; } } // later on... $db = new COM("ADODB.Connection", NULL, $charPage); $sink = new ADOConnectionEventSink(); com_event_sink($db, $sink, "ConnectionEvents"); //... |
Change LanguageCOM 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 |