Forum und email

Accès aux fichiers Paradox

Introduction

Warning

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 » https://pxlib.sourceforge.net.

Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » https://pecl.php.net/package/paradox

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.

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()

Types de ressources

px_new() crée un nouvel objet Paradox, nécessaire à toutes les fonctions Paradox.

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.

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
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

Table of Contents