Forum und email

Hyperwave API 関数

導入

Hyperwave は、グラーツにある » IICM で開発されています。 当初は Hyper-G という名前でしたが、 商用化の際に (1996 年に) Hyperwave という名前に変わりました。

Hyperwave はフリーソフトウェアではありません。現在のバージョンである 5.5 は » https://www.hyperwave.com/ で入手可能です。 期間限定 (30 日) のフリー版も注文できます。

Hyperwave モジュールも参照ください。

Hyperwave は、データベースに似た情報システム (HIS, Hyperwave Information Server) で、 文書の保存や管理に重点をおいています。 文書は、いくつかのデータに分割されてファイルに保存されます。 個々の文書にはオブジェクトレコードが付属し、 オブジェクトレコードには文書のメタデータが含まれます。 メタデータは属性のリストで、これはユーザが拡張することができます。 属性の中のいくつかは Hyperwave サーバが常に設定し、 それ以外についてはユーザによって変更されます。

注意: この拡張モジュールは » PECL レポジトリに移動 されており、以下のバージョン以降 PHP にバンドルされなくなっています。 PHP 5.2.0.

要件

2001 年より、Hyperwave SDK が使用可能です。これは Java、 JavaScript そして C++ をサポートしています。この PHP 拡張モジュールは C++ 版のインターフェイスをもとにしています。 PHP で hwapi のサポートを有効にするには、まずはじめに Hyperwave SDK をインストールしなければなりません。

インストール手順

Hyperwave SDK をインストールしてから、 --with-hwapi[=DIR] を指定して PHP の configure を行います。

Apache との統合

Apache やその他のサーバと統合するための情報は、すでに Hyperwave モジュールで説明されています。 これは、Hyperwave サーバに接続するための最初の拡張モジュールでした。

実行時設定

php.ini の設定により動作が変化します。

Hyperwave API 設定オプション
名前 デフォルト 変更の可否 変更履歴
hwapi.allow_persistent "0" PHP_INI_SYSTEM  
PHP_INI_* 定数の詳細および定義については php.ini ディレクティブ を参照してください。

リソース型

リソース型は定義されていません。

定義済み定数

定数は定義されていません。

クラス

HW_API 拡張モジュールが提供する API は、完全にオブジェクト指向です。 Hyperwave SDK の C++ インターフェイスに非常によく似ています。 この API は、以下のクラスからなります。

  • HW_API
  • HW_API_Object
  • HW_API_Attribute
  • HW_API_Error
  • HW_API_Content
  • HW_API_Reason
Hyperwave SDK に含まれているクラスのうち、 HW_API_StringHW_API_String_Array のような基本的なクラスは実装されていません。 PHP には、それらに代わる強力な機能があるからです。

各クラスにはメソッドが含まれており、その名前は Hyperwave SDK の対応するメソッドと同じです。この関数に引数を渡す方法は PHP の他の拡張モジュールとは少し異なっており、HW SDK の C++ API に似ています。複数のパラメータを別々に渡すのではなく、 それらをひとつの連想配列にまとめて単一のパラメータとして渡します。 連想配列のキーの名前は、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() のような関数から返されるオブジェクトの数を減らすために使用します。

注意: boolean 型のメソッドは、 TRUEFALSE あるいは HW_API_Error オブジェクトを返します。

目次