A classe com

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

Introdução

A classe com permite instanciar um objeto COM compatível com OLE, chamar seus métodos e acessar suas propriedades.

Resumo da classe

class com extends variant {
/* Métodos */
public __construct(
    string $module_name,
    array|string|null $server_name = null,
    int $codepage = CP_ACP,
    string $typelib = ""
)
}

Métodos sobrecarregados

O objeto retornado é um objeto sobrecarregado, o que significa que o PHP não vê nenhum método fixo como acontece com as classes normais; em vez disso, qualquer acesso a propriedade ou método é passado para COM.

O PHP detectará automaticamente métodos que aceitam parâmetros por referência e converterá automaticamente variáveis normais do PHP para um formato que possa ser passado por referência. Isso significa o método pode ser chamado com muita naturalidade; não é necessário nenhum esforço extra no código.

Exemplos de com

Example #1 Exemplo de com (1)

<?php
// Iniciando o Word
$word = new com("word.application") or die("Não foi possível iniciar o Word");
echo "Word carregado, versão {$word->Version}\n";

// Traz para o primeiro plano
$word->Visible = 1;

// Abre um documento vazio
$word->Documents->Add();

// Faz algumas coisas
$word->Selection->TypeText("Este é um teste...");
$word->Documents[1]->SaveAs("Test.doc inútil");

// Fechando o Word
$word->Quit();

// Liberando o objeto
$word = null;
?>

Example #2 Exemplo de com (2)

<?php

$conn = new com("ADODB.Connection") or die("Não foi possível iniciar o ADO");
$conn->Open("Provider=SQLOLEDB; Data Source=localhost;
Initial Catalog=database; User ID=user; Password=password");

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

$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++;            // incrementa a contagem de linhas
    $rs->MoveNext();
}

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

$rs = null;
$conn = null;

?>

Table of Contents