<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.com.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'com.construct.php',
    1 => 'com::__construct',
    2 => 'com クラスのコンストラクタ',
  ),
  'up' => 
  array (
    0 => 'class.com.php',
    1 => 'com',
  ),
  'prev' => 
  array (
    0 => 'class.com.php',
    1 => 'com',
  ),
  'next' => 
  array (
    0 => 'class.dotnet.php',
    1 => 'dotnet',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'reference/com/com/construct.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="com.construct" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">com::__construct</h1>
  <p class="verinfo">(PHP 4 &gt; 4.1.0, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">com::__construct</span> &mdash; <span class="dc-title">com クラスのコンストラクタ</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-com.construct-description">
  <h3 class="title">説明</h3>
  <div class="constructorsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>com::__construct</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$module_name</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.null.php" class="type null">null</a></span></span> <code class="parameter">$server_name</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$codepage</code><span class="initializer"> = <strong><code><a href="com.constants.php#constant.cp-acp">CP_ACP</a></code></strong></span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$typelib</code><span class="initializer"> = &quot;&quot;</span></span><br>)</div>

  <p class="para rdfs-comment">
   新しい com オブジェクトを構築します。
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-com.construct-parameters">
  <h3 class="title">パラメータ</h3>
  <dl>
   
    <dt><code class="parameter">module_name</code></dt>
    <dd>
     <span class="simpara">
      ロードするコンポーネントの名前を表す ProgID, ClassID または Moniker。
     </span>
     <span class="simpara">
      ProgID は通常、アプリケーションまたは DLL の名前で、その後にピリオドが続き、
      オブジェクト名が続きます。e.g: <code class="literal">Word.Application</code>
     </span>
     <span class="simpara">
      ClassID は、与えられたクラスを一意に識別するUUIDです。
     </span>
     <span class="simpara">
      Moniker は、URL スキームの概念に似た特別な名前付けのやり方で、
      リソースを識別し、どのようにロードするかを指定します。
      たとえば、Microsoft Word をロードし、
      Word ドキュメントを表現するオブジェクトを取得するために、
      フルパスをモジュール名として指定できます。
      また、LDAP への ADSI インターフェイスを使う moniker として
      <code class="literal">LDAP:</code> が使えます。
     </span>
    </dd>
   
   
    <dt><code class="parameter">server_name</code></dt>
    <dd>
     <span class="simpara">
      コンポーネントをロードし、実行する DCOM サーバー名。
      <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> の場合、そのアプリケーションのデフォルトが使われ、実行されます。
      デフォルトは通常はローカルマシン上で実行することですが、
      管理者が異なるマシン上で起動するアプリケーションを設定するかもしれません。
     </span>
     <span class="simpara">
      server に <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> でない値を指定すると、PHP は
      <a href="com.configuration.php#ini.com.allow-dcom" class="link">com.allow_dcom</a>
      <var class="filename">php.ini</var> 設定オプションが <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> でない限りオブジェクトのロードを拒否します。
     </span>
     <p class="para">
      <code class="parameter">server_name</code> が配列の場合、
      次の要素が含まれるべきです(大文字小文字を区別します！)。
      但し、これらは全てオプション(ユーザー名とパスワードは一緒に指定する必要があります)
      であることに注意してください。つまり、サーバーの設定を省略すると、
      (既に述べたとおり)デフォルトのサーバーが使われ、オブジェクトのインスタンス化は
      <a href="com.configuration.php#ini.com.allow-dcom" class="link">com.allow_dcom</a>
      <var class="filename">php.ini</var> ディレクティブによって影響を受けません。
      <table class="doctable table">
       <caption><strong>DCOM サーバー名</strong></caption>
       
        <thead>
         <tr>
          <th>キー</th>
          <th>タイプ</th>
          <th>説明</th>
         </tr>

        </thead>

        <tbody class="tbody">
         <tr>
          <td>Server</td>
          <td>string</td>
          <td>サーバー名</td>
         </tr>

         <tr>
          <td>Username</td>
          <td>string</td>
          <td>接続するユーザ名</td>
         </tr>

         <tr>
          <td>Password</td>
          <td>string</td>
          <td><code class="literal">Username</code> のパスワード</td>
         </tr>

         <tr>
          <td>Domain</td>
          <td>string</td>
          <td><code class="literal">server</code> のドメイン</td>
         </tr>

         <tr>
          <td>Flags</td>
          <td>integer</td>
          <td>以下の定数をひとつ以上、論理ORで指定します:
           <strong><code><a href="com.constants.php#constant.clsctx-inproc-server">CLSCTX_INPROC_SERVER</a></code></strong>,
           <strong><code><a href="com.constants.php#constant.clsctx-inproc-handler">CLSCTX_INPROC_HANDLER</a></code></strong>,
           <strong><code><a href="com.constants.php#constant.clsctx-local-server">CLSCTX_LOCAL_SERVER</a></code></strong>,
           <strong><code><a href="com.constants.php#constant.clsctx-remote-server">CLSCTX_REMOTE_SERVER</a></code></strong>,
           <strong><code><a href="com.constants.php#constant.clsctx-server">CLSCTX_SERVER</a></code></strong> および
           <strong><code><a href="com.constants.php#constant.clsctx-all">CLSCTX_ALL</a></code></strong>。
           指定されなかった場合のデフォルト値は
           <code class="literal">Server</code> も省略した場合は、
           <strong><code><a href="com.constants.php#constant.clsctx-server">CLSCTX_SERVER</a></code></strong> ですが、
           server を指定した場合は <strong><code><a href="com.constants.php#constant.clsctx-remote-server">CLSCTX_REMOTE_SERVER</a></code></strong> です。
           これらの定数の意味の詳細情報は、
           Microsoft の CoCreateInstance のドキュメントも参照ください。
           通常、それらを使わないことはないはずです。
          </td>
         </tr>

        </tbody>
       
      </table>

     </p>
    </dd>
   
   
    <dt><code class="parameter">codepage</code></dt>
    <dd>
     <span class="simpara">
      文字列をUnicode文字列その他に変換するために使うコードページを指定します。
      PHP の文字列が この COM オブジェクトのメソッドとパラメータをやりとりする時に
      常にこの変換は適用されます。このコードページは sticky です。
      つまり、コードページはオブジェクトから返されるオブジェクトやバリアントに伝播するということです。
     </span>
     <span class="simpara">
      有効な値は 
      <strong><code><a href="com.constants.php#constant.cp-acp">CP_ACP</a></code></strong>
      (システムデフォルトの ANSI コードページを使う - このパラメータが省略された場合のデフォルト値),
      <strong><code><a href="com.constants.php#constant.cp-maccp">CP_MACCP</a></code></strong>,
      <strong><code><a href="com.constants.php#constant.cp-oemcp">CP_OEMCP</a></code></strong>, <strong><code><a href="com.constants.php#constant.cp-symbol">CP_SYMBOL</a></code></strong>,
      <strong><code><a href="com.constants.php#constant.cp-thread-acp">CP_THREAD_ACP</a></code></strong> (現在実行中のスレッドのコードページ/ロケールを使う),
      <strong><code><a href="com.constants.php#constant.cp-utf7">CP_UTF7</a></code></strong>
      および <strong><code><a href="com.constants.php#constant.cp-utf8">CP_UTF8</a></code></strong> です。
      コードページの数値も使えます。
      コードページとその数値に関する詳細な情報は、Microsoft のドキュメントを参照ください。
     </span>
    </dd>
   
  </dl>
 </div>


</div><?php manual_footer($setup); ?>