Conectándose a su base de datos
Conexión a una base de datos
Conexión al grupo predeterminado
Puede conectarse a su base de datos agregando esta línea de código en cualquier función donde sea necesario, o en el constructor de su clase para hacer el base de datos disponible globalmente en esa clase.
$db = \Config\Database::connect();
Si la función anterior no contiene ninguna información en el primer parámetro, se conectará al grupo predeterminado especificado en la configuración de su base de datos archivo. Para la mayoría de las personas, este es el método de uso preferido.
Existe un método de conveniencia que es puramente un resumen de la línea anterior. y se proporciona para su comodidad:
$db = db_connect();
Parámetros disponibles
\Config\Database::connect($group = null, bool $getShared = true): BaseConnection
$group
: El nombre del grupo de la base de datos, una cadena que debe coincidir con el nombre de la propiedad de la clase de configuración. El valor predeterminado esConfig\Database::$defaultGroup
.$getShared
: verdadero/falso (booleano). Si se debe devolver la conexión compartida (consulte Conexión a múltiples bases de datos a continuación).
Conexión con un grupo específico
El primer parámetro de esta función se puede utilizar opcionalmente para especifique un grupo de base de datos particular desde su archivo de configuración. Ejemplos:
Para elegir un grupo específico de su archivo de configuración, puede hacer esto:
$db = \Config\Database::connect('group_name');
Donde group_name
es el nombre del grupo de conexión de su configuración
archivo.
Múltiples conexiones a la misma Base de datos
De forma predeterminada, el método connect()
devolverá la misma instancia del
conexión de base de datos cada vez. Si necesita tener una conexión separada
a la misma base de datos, envíe false
como segundo parámetro:
$db = \Config\Database::connect('group_name', false);
Conexión a múltiples bases de datos
Si necesita conectarse a más de una base de datos simultáneamente, puede hazlo de la siguiente manera:
$db1 = \Config\Database::connect('group_one');
$db2 = \Config\Database::connect('group_two');
Nota: Cambie las palabras group_one
y group_two
a las específicas
nombres de grupos a los que se está conectando.
Nota
You don’t need to create separate database configurations if you Sólo es necesario utilizar una base de datos diferente en la misma conexión. Tú Puede cambiar a una base de datos diferente cuando lo necesite, así:
$db->setDatabase($database2_name);
Conexión con configuraciones personalizadas
Puede pasar una serie de configuraciones de base de datos en lugar de un nombre de grupo para obtener una conexión que utiliza su configuración personalizada. La matriz pasada debe ser El mismo formato que los grupos están definidos en el archivo de configuración:
$custom = [
'DSN' => '',
'hostname' => 'localhost',
'username' => '',
'password' => '',
'database' => '',
'DBDriver' => 'MySQLi',
'DBPrefix' => '',
'pConnect' => false,
'DBDebug' => true,
'charset' => 'utf8',
'DBCollat' => 'utf8_general_ci',
'swapPre' => '',
'encrypt' => false,
'compress' => false,
'strictOn' => false,
'failover' => [],
'port' => 3306,
];
$db = \Config\Database::connect($custom);
Reconectar / Mantener viva la conexión
Si se excede el tiempo de espera de inactividad del servidor de base de datos mientras realiza
algo de trabajo pesado de PHP (procesar una imagen, por ejemplo), deberías
considere hacer ping al servidor usando el método reconnect()
antes
enviar más consultas, lo que puede mantener viva la conexión con gracia
o restablecerlo.
Importante
If you are using MySQLi database driver, the reconnect()
method
no hace ping al servidor pero cierra la conexión y luego se conecta nuevamente.
$db->reconnect();
Cerrar manualmente la conexión
Mientras Higgs se encarga inteligentemente de cerrar tu base de datos conexiones, puede cerrar explícitamente la conexión.
$db->close();