# dba_popen

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_popen — Ouvre une connexion persistante à une base de données DBA

### Description

dba_popen(
string `$path`,
string `$mode`,
?string `$handler` = `null`,
int `$permission` = 0644,
int `$map_size` = 0,
?int `$flags` = `null`
): Dba\Connection|false

dba_popen() établit une connexion persistante à la base repérée par `path` avec le mode `mode`, en utilisant l'identifiant `handler`.

### Liste de paramètres

`path`

  Chemin sur votre système de fichiers.

`mode`

  Il vaut `r` pour lecture seule, `w` pour lecture/écriture, `c` pour lecture/écriture, et création si la base n'existe pas, et `n` pour création, écrasement, et accès en lecture/écriture.

`handler`

  Le nom du gestionnaire qui doit être utilisé pour accéder à `path`. Le gestionnaire reçoit tous les paramètres supplémentaires passés à la fonction dba_popen(). Si le paramètre `handler` est `null`, alors le gestionnaire par défaut est invoqué.

`permission`

  Paramètre optionnel de type entier (entier) qui est passé au pilote. Il a la même signification que le paramètre `permissions` de la fonction chmod(), et sa valeur par défaut est `0644`.

  Les pilotes `db1`, `db2`, `db3`, `db4`, `dbm`, `gdbm`, `ndbm` et `lmdb` prennent en charge le paramètre `permission`.

`map_size`

  Paramètre optionnel de type entier qui est passé au pilote. Sa valeur doit être un multiple de la taille de page du système d'exploitation, ou zéro pour utiliser la taille de mappe par défaut.

  Le pilote `lmdb` accepte le paramètre `map_size`.

`flags`

  Permet de passer des drapeaux aux pilotes de base de données. Actuellement, seul le pilote LMDB avec les drapeaux `DBA_LMDB_USE_SUB_DIR` et `DBA_LMDB_NO_SUB_DIR` est pris en charge.

### Valeurs de retour

Retourne une instance Dba\Connection en cas de succès ou `false` si une erreur survient.

### Erreurs / Exceptions

La valeur `false` est renvoyée et une erreur de niveau `E_WARNING` est émise lorsque le paramètre `handler` est `null`, mais qu'aucun gestionnaire par défaut n'est disponible.

### Historique

Version | Description
--- | ---
8.4.0 | Retourne désormais une instance de Dba\Connection; auparavant, une resource était retournée.
8.2.0 | Le paramètre `flags` a été ajouté.
8.2.0 | Le paramètre `handler` est désormais nullable.
7.3.14, 7.4.2 | Le pilote `lmdb` supporte désormais un paramètre additionel `map_size`.

### Voir aussi

- dba_open() - Ouvre une base de données DBA
- dba_close() - Ferme une base DBA