PHP Doku:: Ruft eine Methode einer COM-Komponente auf [veraltet, nicht mehr empfohlen] - function.com-invoke.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzWindowsbasierte ErweiterungenCOM and .Net (Windows)COM Funktionencom_invoke

Ein Service von Reinhard Neidl - Webprogrammierung.

COM Funktionen

<<com_get

com_isenum>>

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.


Ein BenutzerBeitrag:
- Beiträge aktualisieren...
tomer at parity-bit dot com
1.02.2005 21: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



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)