Manuel PHP
Précédent |  | Suivant

# CXIII. 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 et des fichiers Blob. Il peut également créer des bases de données Paradox mais dû au manque de documentation surle format des fichiers Paradox, il se peut que les bases créées ne soient pas lisibles avec toutes les autres applications. Les bases de données cryptées peuvent être lues sans pour autant spécifier de mot de passe si pxlib >= 0.5.0 est utilisé.

> Note : Ce module est 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.4.4 pour la plupart des fonctions. Quelques nouvelles fonctions ne sont disponibles que si pxlib >= 0.6.0 est utilisé. L'écriture et la lecture des bases de données cryptées nécessitent pxlib >= 0.5.0. 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. Assurez-vous d'avoir installé pxlib avant. Si vous avez installé pxlib via rpm ou via un paquet Débian, n'oubliez pas d'installer également le paquet de développement.

# 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_db. 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_db

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()
retrieve_record() | px_retrieve_record()
delete_record() | px_delete_record()
insert_record() | px_insert_record()
update_record() | px_update_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()
date2string() | px_date2string()
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, nombre de jours depuis le 1.1.0000
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
PX_FIELD_BLOB | Objet binaire large (non supporté)
PX_FIELD_FMTMEMOBLOB | Objet binaire large
PX_FIELD_OLE | Objet OLE (basiquement un blob, non supporté)
PX_FIELD_GRAPHIC | Graphique (basiquement un blob, non supporté)
PX_FIELD_TIME | heure, nombre de millisecondes depuis le 1.1.0000
PX_FIELD_TIMESTAMP | timestamp, nombre de millisecondes depuis le 1.1.0000
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 | Convertit tous les noms de champs en minuscule
PX_KEYTOUPPER | Convertit tous les noms de champs en majuscule

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
PX_FILE_SEC_INDEX | Index secondaire
PX_FILE_INC_SEC_INDEX | Index secondaire incrémental
PX_FILE_NON_INC_SEC_INDEX_G | Index secondaire non-incrémental
PX_FILE_SEC_INDEX_G | Index secondaire
PX_FILE_INC_SEC_INDEX_G | Index secondaire non-incrémental

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