(PHP 4, PHP 5, PHP 7, PHP 8)
dba_open — Abre um banco de dados
$path,$mode,$handler = null,$permission = 0644,$map_size = 0,$flags = null
dba_open() estabelece uma instância de banco de dados para
o arquivo especificado em path no modo definido por mode usando
o manipulador informado em handler.
pathNormalmente um caminho comum no seu sistema de arquivos.
mode
Define os modos: r para acesso de leitura, w para
acesso de leitura/gravação a um baco de dados já existente, c
para leitura/gravação e criação de banco de dados se ainda não existir,
e n para criar, truncar e acesso leitura/gravação.
O banco de dados é criado modo de árvore binária (BTree), outros modos (como Hash ou Queue)
não são suportados.
Além disso, pode ser definido o método de trava do banco de dados com o próximo caractere.
Use l para travar o banco de dados com um arquivo .lck
ou d para travar o próprio arquivo de banco de dados. É
importante que todas as aplicações façam isso de forma consistente.
Se a intenção for testar o acesso e não esperar pela trava,
pode-se adicionar t como terceiro caractere. Quando
houver certeza absoluta de que não é necessário travar o banco de dados,
pode-se fazê-lo usando - em vez de l ou
d. Quando nenhum dos caracteres d,
l ou - forem usados, o DBA irá travar
o arquivo de banco de dados como faria com d.
Nota:
Só pode haver um gravador para um arquivo de banco de dados. Quando um DBA é usados em um servidor web e mais de uma solicitação requerer operações de gravação, elas só poderão ser feitas uma após a outra. Também não será permitido ler durante a gravação. A extensão DBA usa travas para evitar isso. Veja a tabela a seguir:
Travas DBA já aberto mode= "rl"mode= "rlt"mode= "wl"mode= "wlt"mode= "rd"mode= "rdt"mode= "wd"mode= "wdt"não aberto ok ok ok ok ok ok ok ok mode= "rl"ok ok espera falso ilegal ilegal ilegal ilegal mode= "wl"espera falso espera falso ilegal ilegal ilegal ilegal mode= "rd"ilegal ilegal ilegal ilegal ok ok espera falso mode= "wd"ilegal ilegal ilegal ilegal espera falso espera falso
- ok: a segunda chamada será bem sucedida.
- espera: a segunda chamada espera até que dba_close() seja chamada para a primeira.
- falso: a segunda chamada retorna falso.
- ilegal: não se deve misturar os modificadores
"l"e"d"no parâmetromode.
handler
O nome do manipulador que
deve ser usado para acessar o arquivo definido em path. São passados
todos os parâmetros opcionais fornecidos para dba_open() e
pode agir em nome deles. Se handler for null,
o manipulador padrão será invocado.
permission
Parâmetro opcional int que é passado ao driver. Tem o mesmo significado que
o parâmetro permissions de chmod() (*nix)
e o padrão é 0644.
Os drivers db1, db2, db3,
db4, dbm, gdbm,
ndbm e lmdb suportam o
parâmetro permission.
map_sizeParâmetro opcional int que é passado ao driver. Seu valor deve ser um múltiplo do tamanho da página do sistema operacional, ou zero, para usar o tamanho padrão do mapa.
Somente o driver lmdb aceita o parâmetro map_size.
flags
Opções a serem passadas aos drivers de banco de dados. Se for null, as opções padrão serão passadas.
Atualmente, apenas o driver LMDB suporta as opções
DBA_LMDB_USE_SUB_DIR e
DBA_LMDB_NO_SUB_DIR.
Retorna uma instância de Dba\Connection em caso de sucesso ou false em caso de falha.
false é retornado e um erro de nível E_WARNING é emitido quando
handler for null mas não houver manipulador padrão.
| Versão | Descrição |
|---|---|
| 8.4.0 | Retorna agora uma instância de Dba\Connection; anteriormente, retornava um resource. |
| 8.2.0 |
flags foi adicionado.
|
| 8.2.0 |
handler agora pode ser nulo.
|
| 7.3.14, 7.4.2 |
O driver lmdb agora suporta o parâmetro adicional
map_size.
|