|
Estas funciones forman la base para acceder a bases de datos tipo Berkeley DB.
Esta es una capa general de abstracción para varias bases de datos basadas en archivos. Como tal, su funcionalidad está limitada al sub-conjunto común de características que soportan bases de datos modernas como DB2 de Sleepycat Software. (No confundirla con el software DB2 de IBM, el cual es soportado por medio de las funciones ODBC.)
El comportamiento de varios aspectos depende de la implementación de la base de datos interna. Funciones como dba_optimize() y dba_sync() harán lo que prometen para una base de datos y no tendrán efecto sobre otras. Es necesario descargar e instalar los gestores de base de datos soportados.
Tabla 1. Lista de gestores de DBA
Gestor | Notas |
---|---|
dbm | Dbm es el tipo más antiguo (original) de bases de datos tipo Berkeley DB. Es recomendable evitarlo, en lo posible. No soportamos las funciones de compatibilidad incorporadas en DB2 y gdbm, ya que solo son compatibles en el nivel de código fuente, pero no pueden gestionar el formato dbm original. |
ndbm | Ndbm es un tipo más reciente y flexible que dbm. Aun tiene muchos de los límites arbitrarios de dbm (y por lo tanto es obsoleto). |
gdbm | Gdbm es el administrador de bases de datos GNU. |
db2 | DB2 es el formato DB2 de Sleepycat Software. Es descrito como "un grupo de herramientas programáticas que ofrecen soporte incorporado y de alto rendimiento de bases de datos tanto para aplicaciones independientes como cliente/servidor". |
db3 | DB3 es DB3 de Sleepycat Software. |
db4 | DB4 es DB4 de Sleepycat Software. Este se encuentra disponible desde PHP 4.3.2. |
cdb | Cdb es "un paquete rápido, confiable y ligero para crear y leer bases de datos constantes." Es del creador de qmail y puede encontrarse en http://cr.yp.to/cdb.html. Ya que es constante, sólo soportamos las operaciones de lectura. Y desde PHP 4.3.0 soportamos escritura (no actualización) a través de la biblioteca cdb interna. |
cdb_make | A partir de PHP 4.3.0 soportamos la creación (no actualización) de archivos cdb cuando la biblioteca cdb incorporada es usada. |
flatfile | Este formato está disponible desde PHP 4.3.0 únicamente para efectos de compatibilidad con la extensión obsoleta dbm y debería evitarse. Sin embargo es posible usarlo cuando los archivos fueron creados en este formato. Eso ocurre cuando 'configure' no encuentra alguna biblioteca externa. |
inifile | Este se encuentra disponible desde PHP 4.3.3 y tiene la capacidad de modificar archivos php.ini desde scripts PHP. Cuando se trabaja con archivos ini es posible pasar matrices de la forma array(0=>grupo,1=>nombre_valor) o cadenas de la forma "[grupo]nombre_valor" en donde el grupo es opcional. Dado que las funciones dba_firstkey() y dba_nextkey() devuelven representaciones tipo cadena de la clave, existe una nueva función, dba_key_split(), disponible desde PHP 5 que permite convertir las claves tipo cadena en claves tipo matriz sin perder FALSE. |
qdbm | Este se encuentra disponible desde PHP 5.0.0. La biblioteca qdbm puede encontrarse en http://qdbm.sourceforge.net. |
Cuando se invocan las funciones dba_open() o dba_popen(), uno de los nombres de gestor debe entregarse como argumento. La lista de gestores realmente disponibles se muestra al invocarse phpinfo() o dba_handlers().
By using the --enable-dba=shared configuration option you can build a dynamic loadable module to enable PHP for basic support of dbm-style databases. You also have to add support for at least one of the following handlers by specifying the --with-XXXX configure switch to your PHP configure line.
Aviso |
After configuring and compiling PHP you must execute the following test from commandline: php run-tests.php ext/dba. This shows whether your combination of handlers works. Most problematic are dbm and ndbm which conflict with many installations. The reason for this is that on several systems these libraries are part of more than one other library. The configuration test only prevents you from configuring malfaunctioning single handlers but not combinations. |
Tabla 2. Supported DBA handlers
Handler | Configure Switch |
---|---|
dbm |
To enable support for dbm add
--with-dbm[=DIR].
|
ndbm |
To enable support for ndbm add
--with-ndbm[=DIR].
|
gdbm | To enable support for gdbm add --with-gdbm[=DIR]. |
db2 |
To enable support for db2 add
--with-db2[=DIR].
|
db3 |
To enable support for db3 add
--with-db3[=DIR].
|
db4 |
To enable support for db4 add
--with-db4[=DIR].
|
cdb |
To enable support for cdb add
--with-cdb[=DIR].
|
flatfile |
To enable support for flatfile add
--with-flatfile.
|
inifile |
To enable support for inifile add
--with-inifile.
|
qdbm |
To enable support for qdbm add
--with-qdbm[=DIR].
|
Nota: Up to PHP 4.3.0 you are able to add both db2 and db3 handler but only one of them can be used internally. That means that you cannot have both file formats. Starting with PHP 5.0.0 there is a configuration check avoid such misconfigurations.
Esta extensión no tiene directivas de configuración en php.ini.
Las funciones dba_open() y dba_popen() devuelven un gestor al archivo de base de datos a acceder especificado, el cual es usado por todas las otras llamadas a funciones dba.
Esta extensión no tiene ninguna constante definida.
DBA es seguro con material binario y no tiene límites arbitrarios. Sin embargo, hereda todos los límites establecidos por la implementación de la base de datos interna.
Todas las bases de datos basadas en archivo deben ofrecer una forma de establecer el modo de archivo de una base de datos recién creada, si es posible. Un modo de archivo es pasado por lo general como el cuarto argumento a dba_open() o dba_popen().
Es posible acceder a todas las entradas de una base de datos en una forma lineal usando las funciones dba_firstkey() y dba_nextkey(). No debe modificar la base de datos mientras la recorre.
Hosting by: hurra.com
Generated: 2007-01-26 18:00:49