Конструктор класса com

# com::__construct

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

com::__construct — Конструктор класса com

### Описание

public function com::__construct(
string `$module_name`,
array|string|null `$server_name` = `null`,
int `$codepage` = `CP_ACP`,
string `$typelib` = ""
)

Создаёт объект класса com.

### Список параметров

`module_name`
  ProgID, Class ID или Moniker, указывающий на компонент для загрузки. Обычно ProgID - это имя приложения или DLL и имя объекта, разделённые точкой. Например: `Word.Application`. Class ID - это UUID, уникальный для заданного класса. Moniker - специальная форма именования, похожая по концепции к URL, которая идентифицирует ресурс и способ его загрузки. Например, вы можете загрузить Word и получить объект, представляющий документ, указав полный путь к документу word как имя модуля, либо же использовать `LDAP:` в качестве моникера для использования ADSI интерфейса к LDAP.
`server_name`
  Имя сервера DCOM, на котором компонент должен быть загружен и запущен. Если задано как `null`, объект будет запущен для сервере по умолчанию для приложения. Обычно сервер по умолчанию - это локальный компьютер, если администратор не сконфигурировал иначе. Если для сервера указано значение отличное от `null`, PHP не будет загружать объект, пока вы не установите опцию конфигурации php.ini com.allow_dcom в `true`.

  Если `server_name` задан как массив, то этот массив должен содержать следующие элементы (регистр символов важен). Обратите внимание, что они все необязательные (единственно, что Username и Password должны идти парой); Если вы не укажете Server, то будет выбран сервер по умолчанию и создание объекта не будет зависеть от значения настройки директивы php.ini com.allow_dcom.

  Имя сервера DCOM
  ключ | тип | описание
  --- | --- | ---
  Server | string | Имя сервера.
  Username | string | Имя пользователя.
  Password | string | Пароль для `Username`.
  Domain | string | Домен для `server`.
  Flags | integer | Одна или несколько констант, объединённых логическим ИЛИ: `CLSCTX_INPROC_SERVER`, `CLSCTX_INPROC_HANDLER`, `CLSCTX_LOCAL_SERVER`, `CLSCTX_REMOTE_SERVER`, `CLSCTX_SERVER` и `CLSCTX_ALL`. Значение по умолчанию `CLSCTX_SERVER`, если `Server` не задан и `CLSCTX_REMOTE_SERVER`, если задан. Про назначение этих констант можно прочитать в документации Microsoft по CoCreateInstance. Но в реальности они вам вряд ли понадобятся.

`codepage`
  Кодовая страница для преобразования в юникод и обратно. Конвертация происходит когда строка PHP передаётся как параметр COM объекту и когда от него приходит ответ. Обратите внимание, что данная кодовая страница будет использоваться для всех объектов и вариантов, возвращаемых данным объектом. Допустимые значения: `CP_ACP` (Значение по умолчанию. Системная кодовая страница ANSI), `CP_MACCP`, `CP_OEMCP`, `CP_SYMBOL`, `CP_THREAD_ACP` (Использовать кодовую страницу/локаль, установленную для запущенного потока), `CP_UTF7` и `CP_UTF8`. Также можно использовать число, обозначающее кодовую страницу. Подробности читайте в документации Microsoft.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open