array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'class.com.php', 1 => 'com', ), 'up' => array ( 0 => 'book.com.php', 1 => 'COM', ), 'prev' => array ( 0 => 'com.examples.arrays.php', 1 => 'Diziler ve Dizi tarzı COM özellikleri', ), 'next' => array ( 0 => 'com.construct.php', 1 => 'com::__construct', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'tr', 'path' => 'reference/com/com.xml', ), 'extra_header_links' => array ( 'rel' => 'alternate', 'href' => '/manual/en/feeds/class.com.atom', 'type' => 'application/atom+xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
OLE uyumlu COM nesnelerinin örneklenerek yöntem ve özelliklerine erişilebilmesini sağlar.
Döndürülen nesne aşırı yüklenmiş bir nesnedir, yani PHP normal sınıflarda olduğu gibi herhangi bir sabit yöntem görmez; bunun yerine, herhangi bir özellik veya yöntem erişimi COM'a iletilir.
PHP, gönderimli bağımsız değişken kabul eden yöntemleri otomatik olarak algılar ve değişkenlerini gönderimli iletilebilecek duruma kendisi getirir. Yani, yöntem normal şekilde çağırılabilir; kodun buna uygun hale getirilmesi için ek bir çabaya gerek yoktur.
Örnek 1 - 1. com örneği
<?php
// word uygulamasını başlat
$word = new com("word.application") or die("Word başlatılamadı");
echo "Word yüklendi, sürümü: {$word->Version}\n";
// Öne getir
$word->Visible = 1;
// boş bir belge aç
$word->Documents->Add();
// bir şeyler yaz
$word->Selection->TypeText("Bu bir denemedir...");
$word->Documents[1]->SaveAs("Gereksiz test.doc");
// uygulamayı kapat
$word->Quit();
// nesneyi serbest bırak
$word = null;
?>
Örnek 2 - 2. com örneği
<?php
$conn = new com("ADODB.Connection") or die("ADO başlatılamadı");
$conn->Open("Provider=SQLOLEDB; Data Source=localhost;
Initial Catalog=database; User ID=user; Password=password");
$rs = $conn->Execute("SELECT * FROM birtablo"); // 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++; // rowcount sayacı
$rs->MoveNext();
}
$rs->Close();
$conn->Close();
$rs = null;
$conn = null;
?>