Hyperwave は、グラーツにある IICM で開発されています。 当初は Hyper-G という名前でしたが、 商用化の際に (1996 年に) Hyperwave という名前に変わりました。
Hyperwave はフリーソフトウェアではありません。現在のバージョンである 5.5 は http://www.hyperwave.com/ で入手可能です。 期間限定 (30 日) のフリー版も注文できます。
Hyperwave モジュールも参照ください。
Hyperwave は、データベースに似た情報システム (HIS, Hyperwave Information Server) で、 文書の保存や管理に重点をおいています。 文書は、いくつかのデータに分割されてファイルに保存されます。 個々の文書にはオブジェクトレコードが付属し、 オブジェクトレコードには文書のメタデータが含まれます。 メタデータは属性のリストで、これはユーザが拡張することができます。 属性の中のいくつかは Hyperwave サーバが常に設定し、 それ以外についてはユーザによって変更されます。
2001 年より、Hyperwave SDK が使用可能です。これは Java、 JavaScript そして C++ をサポートしています。この PHP 拡張モジュールは C++ 版のインターフェイスをもとにしています。 PHP で hwapi のサポートを有効にするには、まずはじめに Hyperwave SDK をインストールしなければなりません。
Hyperwave SDK をインストールしてから、 --with-hwapi[=DIR] を指定して PHP の configure を行います。
Apache やその他のサーバと統合するための情報は、すでに Hyperwave モジュールで説明されています。 これは、Hyperwave サーバに接続するための最初の拡張モジュールでした。
リソース型は定義されていません。
定数は定義されていません。
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 の対応するメソッドと同じです。この関数に引数を渡す方法は 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 型のメソッドは、 TRUE、FALSE あるいは HW_API_Error オブジェクトを返します。