Manuel PHP
Précédent |  | Suivant

# LVI. Hyperwave API

# Introduction

Hyperwave a été développé à l'IICM à Graz. Le projet a commencé avec le nom de Hyper-G, puis il est devenu Hyperwave, lors de sa commercialisation en 1996.

Hyperwave n'est pas un logiciel libre. Sa version courante, la 5.5, est disponible à http://www.hyperwave.com/. Une version limitée dans le temps est commandable gratuitement (30 jours).

Voir aussi le module Hyperwave.

Hyperwave est un système d'information comparable à une base de données (HIS, Hyperwave Information Server). Il se concentre sur le stockage et la gestion de documents. Un document peut être n'importe quelle pièce de données qui soit stockable dans un fichier. Chaque document est accompagné de son propre enregistrement. L'enregistrement contient les méta-données du document. Les méta-données sont des listes d'attributs qui peuvent être manipulés par l'utilisateur. Certains attributs sont gérés par le serveur Hyperwave, les autres peuvent être modifiés par l'utilisateur.

> Note : Cette extension a été déplacée dans le module PECL et ne sera plus intégrée dans PHP à partir de PHP 5.2.0.

# Pré-requis

Depuis 2001, il y a un SDK Hyperwave disponible. Il supporte Java, JavaScript et C++. Cette extension PHP est basée sur l'interface C++. Pour activer le support hwapi de PHP, vous devez installer le SDK d'abord.

# Installation

Après avoir installé le SDK Hyperwave, compilez PHP avec l'option `--with-hwapi[=DIR]`.

# intégration dans Apache

L'intégration dans Apache et éventuellement d'autres serveurs est déjà décrite dans le module Hyperwave, qui a été la première extension à se connecter au serveur Hyperwave.

# Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier `php.ini`.

Tableau 1. Options de configuration

Nom | Par défaut | Modifiable | Historique
--- | --- | --- | ---
hwapi.allow_persistent | "0" | PHP_INI_SYSTEM |

Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à Annexe G.

# Types de ressources

Cette extension ne définit aucune ressource.

# Constantes pré-définies

Cette extension ne définit aucune constante.

# Classes

L'API fournie avec l'extension HW_API est complètement orientée objet. Elle est très similaire à l'interface C++ du SDK Hyperwave. Elle est constituée des classes suivantes :

- HW_API

- HW_API_Object

- HW_API_Attribute

- HW_API_Error

- HW_API_Content

- HW_API_Reason

Certains classes basiques comme HW_API_String, HW_API_String_Array, etc., qui existent dans le SDK Hyperwave SDK n'ont pas été implémentées, car PHP a de puissants ersatz pour elles.

Chaque classe dispose de certaines méthodes, dont les noms sont identiques à leur alter ego du SDK Hyperwave SDK. Le passage des arguments à ces fonctions diffère de toutes les autres extensions PHP, mais est proche de l'API C++ du SDK Hyperwave. Au lieu de passer plusieurs paramètres, ils sont tous placés dans un tableau associatif, et transmis sous la forme d'un seul paramètre. Les paramètres les plus communs sont listés ci-dessous. Si d'autres paramètres sont nécessaires, ils seront documentés à chaque cas.

- objectIdentifier Le nom ou l'identifiant de l'objet, e.g. "rootcollection", "0x873A8768 0x00000002".

- parentIdentifier Le nom ou l'identifiant de l'objet qui est considéré comme parent.

- object Une instance de la classe HW_API_Object.

- parameters Une instance de la classe HW_API_Object.

- version La version de l'objet.

- mode Un entier qui détermine la méthode d'exécution de l'opération.

- attributeSelector Un tableau de chaînes de caractères, chacun contenant le nom d'un attribut. C'est le cas si vous lisez des enregistrements d'objets, et que vous voulez inclure certains attributs.

- objectQuery Une requête pour sélectionner certains objets dans une liste. Elle est utilisée pour réduire le nombre d'objets qui a été livré par une fonction comme hw_api->children() ou hw_api->find().

> Note : Les méthodes retournant un booléen peuvent retourner `TRUE`, `FALSE` ou un objet HW_API_Error.

Précédent | Sommaire | Suivant
hw_Who | Niveau supérieur | hw_api_attribute->key