COM_INVOKE |
Invoqué le COM |
| PHP 4.0 à 4.4.9 |
Syntaxe
|
function com_invoke($obj, $function_name);
|
|
function com_invoke($obj, $function_name, $function_parameters);
|
Paramètres
| Nom |
Description |
| $obj |
Ce paramètre permet d'indiquer l'objet COM. |
| $function_name |
Ce paramètre permet d'indiquer le nom de la fonction de l'objet COM. |
| $function_parameters |
Ce paramètre permet d'indiquer les paramètres de la fonction de l'objet COM. |
Description
Cette fonction permet d'appeler une méthode ou une fonction contenu dans un composant COM spécifié.
Remarques
- com_invoke est l'une des fonctions clefs pour interagir avec un objet COM depuis PHP : Elle permet d'appeler dynamiquement une méthode ou fonction
appartenant à une composante COM, ce qui donne accès à de nombreuses possibilités d'automatisation, notamment avec des logiciels comme
Microsoft Excel, Word ou
Outlook.
- La fonction simplifie l'appel de méthodes sans avoir besoin de connaître leur signature exacte à l'avance : Grâce à sa flexibilité, com_invoke peut
s'adapter à différentes signatures de méthode tant que les paramètres sont bien positionnés, ce qui en fait un outil pratique pour les appels dynamiques.
- Il est crucial que l'objet passé à com_invoke soit une instance valide d'une composante COM : Si l'objet COM n'a pas été instancié correctement, ou
si le nom de la méthode est mal orthographié, la fonction échouera silencieusement ou générera une erreur fatale difficile à diagnostiquer.
- Cette fonction est particulièrement utile dans un contexte où le nom de la méthode est déterminé dynamiquement : Dans certaines situations, le nom de la
fonction COM à appeler peut être construit à l'exécution. com_invoke permet alors une exécution conditionnelle sans avoir à coder chaque appel de manière
statique.
- Les paramètres de la méthode COM peuvent être passés en tant que liste ou tableau : Si une méthode COM attend plusieurs paramètres, ils peuvent être
spécifiés directement dans l'appel à com_invoke, mais attention à bien respecter l'ordre attendu par la méthode distante.
- Cette fonction a été introduite dans PHP 4.0, mais n'est plus disponible dans les versions modernes : Son usage est aujourd'hui obsolète dans les versions
récentes de PHP. Elle est typiquement utilisée dans des projets anciens ou dans des environnements fortement liés à Windows et à
des composantes COM historiques.
- Le manque de typage fort rend le débogage parfois difficile : Puisqu'il n'y a pas de vérification statique, toute erreur dans le nom de la méthode ou dans
les types des paramètres peut provoquer des erreurs d'exécution difficiles à tracer sans outils de diagnostic complémentaires comme
com_get_active_object() ou var_dump().
- Son utilisation implique souvent une bonne connaissance préalable de l'API COM cible : Pour utiliser efficacement com_invoke, le développeur doit
connaître les méthodes disponibles dans la composante COM visé, ce qui suppose une documentation externe suffisante ou l'exploration via des outils comme OLE/COM Object
Viewer.
Dernière mise à jour : Mercredi, le 25 mars 2015