Manuel PHP
Précédent |  | Suivant

# CVIII. Accès aux fichiers Paradox

# Introduction

Avertissement
Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Ce module vous permet de lire des bases de données Paradox ainsi que des fichiers d'index primaires. Il peut également créer des bases de données Paradox. Considérez cette fonctionnalité comme expérimentale à cause d'un manque de documentation du format de fichier Paradox.

> Note : Ce module n'a pas été testé sur d'autre plateforme que Debian/GNU Linux pour PPC.

> Note : Ce module est également toujours en cours de développement et peut changer, même si l'API ne sera surement pas modifié en profondeur.

# Pré-requis

Vous devez avoir au minimum PHP 5.0.0 et libpx >= 0.1.9. La bibliothèque Paradox (libpx) est disponible sur http://pxlib.sourceforge.net.

# Installation

Une courte note d'installation : entrez juste

    $ pear install paradox

dans votre console.

# Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

# API orientée objet

L'extension Paradox fournit également une API orientée objet. Elle consiste en une seule classe nommée paradox_doc. Ses méthodes diffèrent uniquement des fonctions en leurs noms et, bien sûr, le premier paramètre manquant. La table suivante liste toutes les méthodes avec les fonctions équivalentes.

Tableau 1. Méthodes pour class paradox_doc

Nom de la méthode | Fonction équivalente
--- | ---
Constructor | px_new()
Destructor | px_delete()
open_fp() | px_open_fp()
create_fp() | px_create_fp()
close() | px_close()
numrecords() | px_numrecords()
numfields() | px_numfields()
get_record() | px_get_record()
put_record() | px_put_record()
get_field() | px_get_field()
get_schema() | px_get_schema()
get_info() | px_get_info()
set_parameter() | px_set_parameter()
get_parameter() | px_get_parameter()
set_value() | px_set_value()
get_value() | px_get_value()
get_info() | px_get_info()
set_targetencoding() | px_set_targetencoding()
set_tablename() | px_set_tablename()
set_blob_file() | px_set_blob_file()
timestamp2string() | px_timestamp2string()

# Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Les deux tables suivantes listent toutes les constantes définies par l'extension Paradox.

Tableau 2. Contantes pour les types de champs

Nom | Signification
--- | ---
PX_FIELD_ALPHA | Données sous forme de caractères avec une longueur fixe
PX_FIELD_DATE | Date
PX_FIELD_SHORT | Entier court (2 octets)
PX_FIELD_LONG | Entier long (4 octets)
PX_FIELD_CURRENCY | Identique à PX_FIELD_NUMBER
PX_FIELD_NUMBER | Double
PX_FIELD_LOGICAL | Booléen
PX_FIELD_MEMOBLOB | Objet binaire large (non supporté)
PX_FIELD_BLOB | Objet binaire large (non supporté)
PX_FIELD_FMTMEMOBLOB | Objet binaire large (non supporté)
PX_FIELD_OLE | Objet OLE (basiquement un blob, non supporté)
PX_FIELD_GRAPHIC | Graphique (basiquement un blob, non supporté)
PX_FIELD_TIME | time
PX_FIELD_TIMESTAMP | timestamp (comme un timestamp Unix)
PX_FIELD_AUTOINC | Entier auto-incrémenté (comme PX_FIELD_LONG)
PX_FIELD_BCD | Nombre décimal stocké en format bcd (non supporté)
PX_FIELD_BYTES | Tableau d'octets d'une longueur maximale de 255 octets (non supporté)
PX_KEYTOLOWER |
PX_KEYTOUPPER |

Tableau 3. Contantes pour les types de fichiers

Nom | Signification
--- | ---
PX_FILE_INDEX_DB | Base de données indexée
PX_FILE_PRIM_INDEX | Index primaire
PX_FILE_NON_INDEX_DB | Base de données non indexée
PX_FILE_NON_INC_SEC_INDEX | Non-indexé incrémentalement secondaire (non supporté)
PX_FILE_SEC_INDEX | Index secondaire (non supporté)
PX_FILE_INC_SEC_INDEX | Index secondaire incrémental (non supporté)
PX_FILE_NON_INC_SEC_INDEX_G | (non supporté)
PX_FILE_SEC_INDEX_G | (non supporté)
PX_FILE_INC_SEC_INDEX_G | (non supporté)

Précédent | Sommaire | Suivant
ovrimos_rollback | Niveau supérieur | px_close