(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
La classe com permet d'instancier un objet COM compatible OLE et d'appeler ses méthodes et d'accéder à ses propriétés.
L'objet retourné est un objet surchargé, ce qui signifie que PHP ne voit aucune méthode fixe comme il le fait avec les classes habituelles ; au lieu de cela, chaque accès à une propriété ou une méthode est effectué à travers COM.
PHP détectera automatiquement les méthodes qui acceptent les paramètres par référence, et convertira automatiquement les variables PHP classiques en une forme pouvant être passée par référence. Cela signifie qu'il est possible d'appeler les méthodes de façon naturelle ; il n'y a pas d'efforts supplémentaires à fournir dans le code.
Exemple #1 Exemple com (1)
<?php
// démarrer Word
$word = new com("word.application") or die("Unable to instantiate Word");
echo "Loaded Word, version {$word->Version}\n";
// l'amener devant
$word->Visible = 1;
// ouvrir un document vide
$word->Documents->Add();
// faire des choses
$word->Selection->TypeText("This is a test...");
$word->Documents[1]->SaveAs("Useless test.doc");
// fermer Word
$word->Quit();
// libérer l'objet
$word = null;
?>
Exemple #2 Exemple com (2)
<?php
$conn = new com("ADODB.Connection") or die("Cannot start ADO");
$conn->Open("Provider=SQLOLEDB; Data Source=localhost;
Initial Catalog=database; User ID=user; Password=password");
$rs = $conn->Execute("SELECT * FROM sometable"); // Recordset
$num_columns = $rs->Fields->Count();
echo $num_columns . "\n";
for ($i=0; $i < $num_columns; $i++) {
$fld[$i] = $rs->Fields($i);
}
$rowcount = 0;
while (!$rs->EOF) {
for ($i=0; $i < $num_columns; $i++) {
echo $fld[$i]->value . "\t";
}
echo "\n";
$rowcount++; // incrémente rowcount
$rs->MoveNext();
}
$rs->Close();
$conn->Close();
$rs = null;
$conn = null;
?>