Manuel PHP
Introduction
Hyperwave a été développé par » IICM à Graz. Son nom original était » http://www.hyperwave.com/. Une version limitée à 30 jours peut être demandée.
Voir aussi le module Hyperwave API.
hw_pipedocument() et hw_gettext() le font pour vous. L'avantage de séparer les liens du document est évident : une fois qu'un document, cible d'un hyperlien, a été renommé, le liens peut facilement être modifié. Le document contenant le lien n'est pas modifié pour autant. Vous pouvez même ajouter un lien à un document sans le modifier.
Dire que hw_pipedocument() et hw_gettext() font l'insertion automatiquement n'est pas aussi simple qu'il y paraît. L'insertion implique une certaine hiérarchie de documents. Sur un serveur web, la hiérarchie est fournie par le système de fichiers, mais Hyperwave dispose de sa propre hiérarchie et les noms de fichiers ne reflètent pas la position d'un objet dans cette hiérarchie. Ainsi, la création de liens requiert en premier lieu la construction de la hiérarchie et de l'espace des noms dans une hiérarchie web et un espace de nom web. La différence fondamentale entre Hyperwave et le web est qu'il y a une distinction claire entre les noms et la hiérarchie dans Hyperwave. Le nom ne contient aucune information à propos de la position de l'objet dans la hiérarchie. Sur le web, le nom contient les informations de localisation dans la hiérarchie. Cela conduit à deux méthodes d'accès : soit la hiérarchie Hyperwave et le nom de l'objet sont inscrits dans l'URL. Pour simplifier les choses, une deuxième approche est pratiquée. L'objet Hyperwave de nom "mon_objet" correspond à l'URL "http://hote/mon_objet", peu importe alors où il est rangé dans la hiérarchie. Un objet dont le nom est "parent/mon_objet" peut être le fils de l'objet "mon_objet" dans la hiérarchie Hyperwave, bien que ce soit le contraire en convention web, et cela risque de perturber l'utilisateur.
Ayant pris cette décision, un deuxième problème surgit : comment faire l'interface avec PHP ? L'URL http://hote/mon_objet n'appellera aucun script PHP à moins que vous ne demandiez à votre serveur web de le remplacer par autre chose, comme : "http://host/php3_script/mon_objet" et le script "php3_script" utilise la variable $PATH_INFO pour rechercher l'objet "mon_objet" sur le serveur Hyperwave. Il y a juste un petit inconvénient, qui peut facilement être corrigé. Réécrire une URL ne vous permettra aucun accès aux autres documents du serveur web. Un script de recherche dans le serveur Hyperwave serait impossible. Il vous faudra donc au moins une autre règle pour exclure certaines URL, comme celles qui commencent par http://host/Hyperwave. Voici, de manière simple, comment partager un espace de nom entre un serveur web et un serveur Hyperwave serveur.
Basé sur le mécanisme précédent, on trouve l'insertion dans les documents.
Il est plus compliqué d'avoir PHP ne fonctionnant pas comme un module de serveur, ou un script CGI, mais comme une application indépendante. Dans ce cas, il est utile d'inscrire la hiérarchie et le nom de fichier Hyperwave dans le système de fichier. Mais comme cela risque d'entrer en conflit avec le séparateur de dossier ("/"), il faut le remplacer par un autre caractère,. "_".
Le protocole réseau pour communiquer avec un serveur Hyperwave est appelé » HG-CSP (Hyper-G Client/Server Protocol). Il est basé sur des messages qui initient des actions, comme lire l'en-tête de fichier. Dans les premières versions de Hyperwave Server, deux clients natifs (Harmony, Amadeus) étaient fournis pour permettre la communication avec le serveur. Ils ont disparu lors de la commercialisation de Hyperwave. En tant qu'ersatz, un client appelé wavemaster est désormais fourni. wavemaster est un espèce de convertisseur de protocole de hw_objrec2array(). De nombreuses fonctions retournent un objet record. Ces fonctions ont leur nom qui finit par obj.
De nombreuses fonctions qui retournent un tableau d'enregistrements, retournent aussi un tableau associé, avec des informations statistiques. Ce tableau est le dernier élément du tableau d'enregistrements. Les statistiques contiennent les entrées suivantes :
- Hidden
- Nombre d'objets dont l'attribut PresentationHints est Hidden.
- CollectionHead
- Nombre d'objets dont l'attribut PresentationHints est CollectionHead.
- FullCollectionHead
- Nombre d'objets dont l'attribut PresentationHints est FullCollectionHead.
- CollectionHeadNr
- Index du premier objet du tableau d'enregistrement avec l'attribut PresentationHints à CollectionHead.
- FullCollectionHeadNr
- Index du premier objet du tableau d'enregistrement avec l'attribut PresentationHints est FullCollectionHead.
- Total
- Total : nombre d'enregistrements.
Remonter 
