mirror of
https://github.com/php/doc-ja.git
synced 2026-03-24 07:02:08 +01:00
90 lines
4.0 KiB
XML
90 lines
4.0 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: 94ef70805b847c24941dfd7828df2f5a0fd48c96 Maintainer: takagi Status: ready -->
|
|
<!-- CREDITS: hirokawa,mumumu -->
|
|
<book xml:id="book.com" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<?phpdoc extension-membership="bundled" ?>
|
|
<title>COM および .Net (Windows)</title>
|
|
<titleabbrev>COM</titleabbrev>
|
|
|
|
<!-- {{{ preface -->
|
|
<preface xml:id="intro.com">
|
|
&reftitle.intro;
|
|
<para>
|
|
COM は <literal>Component Object Model</literal> の略語であり、
|
|
DCE RPC (オープンスタンダード) の最上位のオブジェクト指向レイヤーです。
|
|
COM はコール手順を共通化し、あらゆる言語でコードを記述し、
|
|
(COM に対応した)他の言語で書かれたコードをコール、相互運用することを可能にします。
|
|
あらゆる言語で書くことを可能にするだけではなく、
|
|
同じ実行形式の一部となることすら不要です。
|
|
コードは、同じマシンで実行される他のプロセスのコードである DLL からロードしたり、
|
|
または、リモートマシン上の他のプロセスにあるコードを DCOM (分散 COM) で
|
|
利用することができます。
|
|
この場合、コードの中では、コンポーネントの存在する場所を意識する必要はありません。
|
|
</para>
|
|
<para>
|
|
OLE オートメーションと呼ばれる COM のサブセットがあります。
|
|
これは、COM オブジェクトに疎な結合を行うことができる COM インターフェイスを
|
|
提供します。これにより、コンパイル時にオブジェクトの動作を知ることなく、
|
|
実行時にコールを行うことができるようになります。
|
|
PHP COM 拡張モジュールは、OLE オートメーションを使用して
|
|
スクリプトから互換性のあるオブジェクトを作成/コールすることができます。
|
|
技術的に述べると、
|
|
全ての COM オブジェクトが OLE 互換であるというわけではないため、
|
|
実際には、この拡張モジュールは "<literal>PHP の OLE オートメーション
|
|
拡張モジュール</literal>" と呼ばれるべきものです。
|
|
</para>
|
|
<para>
|
|
ところで、なぜ COM を使用する必要があるのでしょう? COM は、
|
|
Windows 環境でアプリケーションとコンポーネントを結び付ける代表的な手法の一つで、
|
|
COM を使用して Microsoft Word を起動し、
|
|
ドキュメントテンプレートを埋めて、Word 文書として結果を保存し、Web サイトの
|
|
訪問者に送信することができます。
|
|
また COM を使用して、ネットワークの管理タスクを処理したり
|
|
IIS を設定したりすることができます。これらは最も一般的な使用法にすぎません。
|
|
COM でできることはまだまだたくさんあります。
|
|
</para>
|
|
<para>
|
|
さらに Microsoft により提供された
|
|
COM との相互運用レイヤーを用いて
|
|
.Net アセンブリのインスタンス化と生成をサポートしました。
|
|
</para>
|
|
</preface>
|
|
<!-- }}} -->
|
|
|
|
&reference.com.setup;
|
|
&reference.com.constants;
|
|
&reference.com.error-handling;
|
|
&reference.com.examples;
|
|
&reference.com.com;
|
|
&reference.com.dotnet;
|
|
&reference.com.variant;
|
|
&reference.com.compersisthelper;
|
|
&reference.com.com-exception;
|
|
&reference.com.com-safearray-proxy;
|
|
&reference.com.reference;
|
|
|
|
</book>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|
|
|