Die Klasse com

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

Einführung

Mit der Klasse com können Sie ein OLE-kompatibles COM-Objekt erzeugen, seine Methoden aufrufen und auf seine Eigenschaften zugreifen.

Klassenbeschreibung

classcomextendsvariant {
public__construct(
    string$module_name,
    array|string|null$server_name = null,
    int$codepage = CP_ACP,
    string$typelib = ""
)
}

Überladene Methoden

Das zurückgegebene Objekt ist überladen, was bedeutet, dass PHP keine bestimmten Methoden kennt, wie das normalerweise der Fall ist; stattdessen wird jeder Eigenschafts- oder Methodenzugriff an COM weitergereicht.

PHP erkennt Methoden, die per Referenz übergebene Parameter erwarten, automatisch und wird reguläre PHP-Variablen automatisch in eine Form umwandeln, die per Referenz übergeben werden kann. Das heißt, dass die Methode ganz normal aufgerufen werden kann; es ist kein Zusatzaufwand nötig.

com-Beispiele

Beispiel #1 com-Beispiel 1

<?php
// Word starten
$word = new com("word.application") or die("Konnte Word nicht instanziieren");
echo
"Word geladen, Version {$word->Version}\n";

// sichtbar machen
$word->Visible = 1;

// ein leeres Dokument öffnen
$word->Documents->Add();

// irgendetwas damit tun
$word->Selection->TypeText("Dies ist ein Test...");
$word->Documents[1]->SaveAs("Nutzloser Test.doc");

// Word schließen
$word->Quit();

// Objekt freigeben
$word = null;
?>

Beispiel #2 com-Beispiel 2

<?php

$conn
= new com("ADODB.Connection") or die("Konnte ADO nicht starten");
$conn->Open("Provider=SQLOLEDB; Data Source=localhost;
Initial Catalog=database; User ID=user; Password=password"
);

$rs = $conn->Execute("SELECT * FROM sometable"); // Datensatz

$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++; // Zeilennummer hochzählen
$rs->MoveNext();
}

$rs->Close();
$conn->Close();

$rs = null;
$conn = null;

?>

Inhaltsverzeichnis

To Top