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.
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.
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 : » http://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.
Cette extension ne définit aucune directive de configuration.
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 236. 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() |
px_new() crée un nouvel objet Paradox, nécessaire à toutes les fonctions Paradox.
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 237. 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 238. 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 |