downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

com_isenum> <com_get
Last updated: Fri, 30 Oct 2009

view this page in

com_invoke

(PHP 4)

com_invokeRuft eine Methode einer COM-Komponente auf [veraltet, nicht mehr empfohlen]

Beschreibung

mixed com_invoke ( resource $com_object , string $function_name [, mixed $function_parameters ] )

com_invoke() ruft eine Methode function_name der von com_object referenzierten COM-Komponente auf. com_invoke() gibt im Fehlerfall FALSE zurück, ist der Aufruf erfolgreich, wird der von function_name erzeugte Wert zurückgegeben. Alle weiteren Parameter in function_parameters werden an die Methode function_name übergeben.

Beispiele

Beispiel #1 Vermeiden Sie die Verwendung von com_invoke(), verwenden Sie stattdessen die OO-Syntax

<?php
// verwenden Sie diese Schreibweise
$val $obj->method($one$two);
// statt dieser:
$val com_invoke($obj'method'$one$two);
?>

Anmerkungen

Hinweis: Diese Funktion existiert nicht in PHP 5. Sie sollten stattdessen die reguläre und natürlichere OO-Syntax für Zugriffe auf Eigenschaften und für Methodenaufrufe benutzen.



add a note add a note User Contributed Notes
com_invoke
tomer at parity-bit dot com
01-Feb-2005 08:21
Note that if you want to use a string to specify the method to call (e.g. a drop-down list to decide what to do to a server process) you can do this in three ways.

The first is to use this function, as in <?php com_invoke($obj, $_GET['func']); ?>
That's bad.

The second is to use eval(), as in <?php eval("\$obj->{$_GET['func']}();"); ?>
That's very very very *very* bad.

The third is to use call_user_func(), as in <?php call_user_func(array($obj, $_GET['func'])); ?>
That's very good.

Remember to validate the user input against a list of allowed methods if a non-admin is at the console.

http://php.net/manual/en/function.call-user-func.php

com_isenum> <com_get
Last updated: Fri, 30 Oct 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites