Учебник РНР
Назад Вперёд

XXXIX. Функции Hyperwave API

Введение

Hyperwave был разработан IICM в Graz. Он начинался как Hyper-G и сменил название на Hyperwave при коммерциализации (насколько помню, это было в 1996).

Hyperwave это не бесплатная программа. Текущая версия, 5.5, доступна на www.hyperwave.com. Можно запросить оценочную версию с ограниченным временем использования (30 дней).

Hyperwave это информационная система, аналогичная database (HIS, Hyperwave Information Server). Она сфокусирована на хранении и обслуживании документов. Документом может быть любой блок данных, которые могут сохраняться в файле. Каждый документ сопровождается записью объекта. Запись объекта/object record содержит метаданные документа. Метаданные это список атрибутов, который может быть расширен пользователем. Некоторые атрибуты всегда устанавливаются Hyperwave-сервером, другие могут модифицироваться пользователем.

Требования

С 2001 г. доступен Hyperwave SDK. Он поддерживает Java, JavaScript и C++. Данное расширение PHP базируется на интерфейсе C++. Чтобы активировать поддержку hwapi в PHP, вы должны сначала установить Hyperwave SDK и сконфигурировать PHP с опцией --with-hwapi=<dir$gt;.

Классы

API, предоставляемый расширением HW_API, является полностью объектно-ориентированным. Он очень похож на интерфейс C++ Hyperwave SDK. Он состоит из следующих классов.

  • HW_API

  • HW_API_Object

  • HW_API_Attribute

  • HW_API_Error

  • HW_API_Content

  • HW_API_Reason

Некоторые базовые классы вроде HW_API_String, HW_API_String_Array, etc., которые имеются в Hyperwave SDK, не реализованы, поскольку PHP имеет для них полноценную замену.

Каждый класс имеет метод, имя которого идентично имени его двойника из Hyperwave SDK. Передача аргументов такой функции отличается от всех других расширений PHP и напоминает C++ API пакета HW SDK. Вместо передачи различных параметров, они все помещаются в ассоциативный массив и передаются как один параметр. Имена ключей идентичны именам, задокументированным в HW SDK. Общие параметры перечислены ниже. Если необходимы другие параметры, они будут документированы, если это необходимо.

  • objectIdentifier - имя или id объекта, например, "rootcollection", "0x873A8768 0x00000002".

  • parentIdentifier - имя или id объекта, который считается родительским.

  • object - экземпляр класса HW_API_Object.

  • parameters - экземпляр класса HW_API_Object.

  • version - версия объекта.

  • mode - целочисленное значение - способ выполнения операции.

  • attributeSelector - массив строк, каждая из которых содержит имя атрибута. Это используется, если вы запрашиваете запись объекта и хотите включить некоторые атрибуты.

  • objectQuery - запрос на выбор определённого объекта из списка объектов. Используется для уменьшения количества объектов, выдаваемых функциями вродеhw_api->children() или hw_api->find().

Интеграция с Apache

Интеграция с Apache и, возможно, другими серверами уже описана в модуле Hyperwave Modul, который был первым расширением для соединения с Hyperwave Server.

Содержание
hw_api_attribute->key - возвращает ключ/key атрибута
hw_api_attribute->langdepvalue - возвращает значение для данного языка
hw_api_attribute->value - возвращает значение атрибута
hw_api_attribute->values - возвращает все значения атрибута
hw_api_attribute - создаёт экземпляр класса hw_api_attribute
hw_api->checkin - проверяет in-объект
hw_api->checkout - проверяет out-объект
hw_api->children - возвращает потомка объекта
hw_api_content->mimetype - возвращает mimetype
hw_api_content->read - читает содержимое
hw_api->content - возвращает содержимое объекта
hw_api->copy - копирует физически
hw_api->dbstat - возвращает статистику о сервере БД
hw_api->dcstat - возвращает статистику о сервере кэша документов
hw_api->dstanchors - возвращает список всех якорей назначения
hw_api->dstofsrcanchors - возвращает назначение якоря-источника
hw_api_error->count - возвращает количество причин/reasons
hw_api_error->reason - возвращает reason ошибки
hw_api->find - ищет объекты
hw_api->ftstat - возвращает статистику fulltext-сервере
hwapi_hgcsp - возвращает объект класса hw_api
hw_api->hwstat - возвращает статистику о Hyperwave-сервере
hw_api->identify - входит/Log в Hyperwave-сервер
hw_api->info - возвращает информацию о конфигурации сервера
hw_api->insert - вставляет новый объект
hw_api->insertanchor - вставляет новый объект типа anchor
hw_api->insertcollection - вставляет новый объект типа collection
hw_api->insertdocument - вставляет новый объект типа document
hw_api->link - создаёт ссылку на объект
hw_api->lock - блокирует объект
hw_api->move - перемещает объект между коллекциями
hw_api_content - создаёт новый экземпляр класса hw_api_content
hw_api_object->assign - клонирует объект
hw_api_object->attreditable - проверяет, может ли атрибут редактироваться
hw_api_object->count - возвращает количество атрибутов
hw_api_object->insert - вставляет новый атрибут
hw_api_object - создаёт новый экземпляр класса hw_api_object
hw_api_object->remove - удаляет атрибут
hw_api_object->title - возвращает название атрибута
hw_api_object->value - возвращает значение атрибута
hw_api->object - запрашивает информацию атрибута
hw_api->objectbyanchor - возвращает объект, к которому принадлежит anchor
hw_api->parents - возвращает родителя объекта
hw_api_reason->description - возвращает описание reason
hw_api_reason->type - возвращает тип reason/причины
hw_api->remove - удаляет объект
hw_api->replace - заменяет объект
hw_api->setcommitedversion - подтверждает версию, отличную от последней версии
hw_api->srcanchors - возвращает список всех anchor-источников
hw_api->srcsofdst - возвращает источник объекта назначения
hw_api->unlock - разблокирует блокированный объект
hw_api->user - возвращает пользователя объекта
hw_api->userlist - возвращает список всех вошедших/logged in пользователей

Назад Оглавление Вперёд
hw_Who Вверх hw_api_attribute->key