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";
?>