Chez ZeGuigui

Le blog d'un geek chasseur de licornes au clair de lune

Chez ZeGuigui
Technique

Gestion des objets COM/DCOM en PHP4.

Bonjour… Comme beaucoup de monde se demande comment ça fonctionne COM avec PHP4, et que je me suis aussi posé la question, voici un petit exemple de code source et un objet COM pour le faire fonctionner. Comme cet objet n’est pas révolutionnaire (il fourni un nombre aléatoire… difficile non ?) je vous le livre "tel quel" avec son code source (comme ça les paranoïaques pourront vérifier ce qu’il fait). Pour des raisons de facilité, je l’ai programmé avec Delphi 5, mais n’importe quel langage capable de produire des objets COM fera tout aussi bien l’affaire.

L’objet COM

Vous pouvez le télécharger en cliquant ici (180ko). L’installation est la même que pour tout objet COM : il faut le copier dans un répertoire et dans une fenêtre de commande (cmd sous NT, command.com sous 9x) saisir la commande suivante :

  • Installation : regsvr32 testPHP4.dll
  • Désinstallation : regsvr32 /u testPHP4.dll

Exemple de source PHP4

Ce code appelle la commande n fois (paramétrable) et calcule le temps qu’il faut pour le faire.

<?php
if (!isset($nbAppels))
{
$nbAppels = 100;
}
$comName = "testPHP4.test";
$debMTime = microtime();

$tst = new COM($comName) or die("Unable to instanciate $comName");
$stoquage = array();
for ($i=0; $i < $nbAppels; $i++)
{
$stoquage[$i] = $tst->randNumber();
}
sort($stoquage);
$endMTime = microtime();

list($msec, $sec) = explode(" ", $debMTime);
$debut = $sec + $msec;

list($msec, $sec) = explode(" ", $endMTime);
$fin = $sec + $msec;

echo "<P><B>Résultats</B> : ".number_format($fin - $debut,4,',','')." s.<BR>\n";
?>

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.