Some difficulties were encountered installing this extension on php 5.1.6. 're2c' was not found. On Fedora Core 5, php 5.1.6, I had to...
Install gc++ as re2c requires C++ and will not compile with the standard C compiler most often used.
Download re2c from sourceforge, untar, configure, make, make install.
Download pxlib from sourceforge, untar, configure, make, make install.
pecl install paradox (it has been moved from pear)
CVIII. Paradox File Access
Introducción
| Aviso |
Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad. |
This module allows to read Paradox database and primary index files. It has initial support for creating Paradox databases. Consider it to be experimental due to lack of documentation of the Paradox file format.
Nota: This module has not been tested on other platforms than Debian/GNU Linux for PPC.
Nota: This module is also in development and may change, though I don't expect major changes to the API.
Requisitos
You need at least PHP 5.0.0 and libpx >= 0.1.9. The paradox library (libpx) is available at http://pxlib.sourceforge.net.
Configuración en tiempo de ejecución
Esta extensión no tiene directivas de configuración en php.ini.
Object oriented API
The paradox extension provides also an object oriented API. It consists of only one class called paradox_doc. Its methods only differ from the functions in its name and of course the missing first parameter. The following table will list all methods and its equivalent functions.
Tabla 1. Methods of class paradox_doc
| Name of method | Equivalent function |
|---|---|
| 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 predefinidas
Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.
The following two tables lists all constants defined by the paradox extension.
Tabla 2. Contants for field types
| Name | Meaning |
|---|---|
| PX_FIELD_ALPHA | Character data with fixed length |
| PX_FIELD_DATE | Date |
| PX_FIELD_SHORT | Short integer (2 Bytes) |
| PX_FIELD_LONG | Long integer (4 Bytes) |
| PX_FIELD_CURRENCY | same as PX_FIELD_NUMBER |
| PX_FIELD_NUMBER | Double |
| PX_FIELD_LOGICAL | Boolean |
| PX_FIELD_MEMOBLOB | Binary large object (not supported) |
| PX_FIELD_BLOB | Binary large object (not supported) |
| PX_FIELD_FMTMEMOBLOB | Binary large object (not supported) |
| PX_FIELD_OLE | OLE object (basically a blob, not supported) |
| PX_FIELD_GRAPHIC | Graphic (basically a blob, not supported) |
| PX_FIELD_TIME | time |
| PX_FIELD_TIMESTAMP | timestamp (like the unix timestamp) |
| PX_FIELD_AUTOINC | Auto incrementing interger (like PX_FIELD_LONG) |
| PX_FIELD_BCD | Decimal number stored in bcd format (not supported) |
| PX_FIELD_BYTES | Array of Bytes with not more than 255 bytes (not supported) |
| PX_KEYTOLOWER | |
| PX_KEYTOUPPER |
Tabla 3. Contants for file types
| Name | Meaning |
|---|---|
| PX_FILE_INDEX_DB | Indexed database |
| PX_FILE_PRIM_INDEX | Primary index |
| PX_FILE_NON_INDEX_DB | None indexed database |
| PX_FILE_NON_INC_SEC_INDEX | None incremental secondary index (not supported) |
| PX_FILE_SEC_INDEX | Secondary index (not supported) |
| PX_FILE_INC_SEC_INDEX | Incremental secondary index (not supported) |
| PX_FILE_NON_INC_SEC_INDEX_G | (not supported) |
| PX_FILE_SEC_INDEX_G | (not supported) |
| PX_FILE_INC_SEC_INDEX_G | (not supported) |
- Tabla de contenidos
- px_close -- Closes a paradox database
- px_create_fp -- Create a new paradox database
- px_date2string -- Converts a date into a string.
- px_delete_record -- Deletes record from paradox database
- px_delete -- Deletes resource of paradox database
- px_get_field -- Returns the specification of a single field
- px_get_info -- Return lots of information about a paradox file
- px_get_parameter -- Gets a parameter
- px_get_record -- Returns record of paradox database
- px_get_schema -- Returns the database schema
- px_get_value -- Gets a value
- px_insert_record -- Inserts record into paradox database
- px_new -- Create a new paradox object
- px_numfields -- Returns number of fields in a database
- px_numrecords -- Returns number of records in a database
- px_open_fp -- Open paradox database
- px_put_record -- Stores record into paradox database
- px_retrieve_record -- Returns record of paradox database
- px_set_blob_file -- Sets the file where blobs are read from
- px_set_parameter -- Sets a parameter
- px_set_tablename -- Sets the name of a table (deprecated)
- px_set_targetencoding -- Sets the encoding for character fields (deprecated)
- px_set_value -- Sets a value
- px_timestamp2string -- Converts the timestamp into a string.
- px_update_record -- Updates record in paradox database
