Conexión a la Base de Datos - mayako/Spaguetti GitHub Wiki

Ejemplos

Connection::to({:host => 'localhost', :database => 'test', :username => 'root'});
Connection::to('connection_name', [
  'host' => 'localhost', 
  'port' => 3306, 
  'database' => 'test', 
  'username' => 'root',
  'password' => '',
  'charset' => 'utf8',
  'options' => [
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ
  ]
]);
Connection::to('localhost', 'db_test', 'root, 'password');

Similar a PDO::__constructor

Connection::to(['dsn' => 'mysql:host='.$host.';dbname='.$database, 'username' => 'root', 'password' => '', 'options' => array()]);

Omitir mysql: puesto que solo se puede conectar a mysql, quedaria host=localhost;dbname=test

Solamente conectarse a mysql, por lo tanto no sirve esta opcion

Configuration File

Connection::to(['file' => 'config_dev.php', 'node' => 'connectios.test']);
Connection::to('con2', ['file' => 'config_dev.php', 'node' => 'connectios.test']);

database.php

return [
  'host' => 'localhost',
  'database' => 'test',
  'username' => 'root'
];

Referencias

La conexión se realiza a través de la clase DB, en ella se puede configurar los datos de conexión, así como opciones del controlador como el reporte de errores y el modo en que se devolverán los resultados.

Existen 2 formas de establecer los datos de conexión.

Conexion multiple

// crear coneciones
Database::connect_to('connection_1', ['localhost', 'db_test', 'root']);
Database::connect_to('connection_2', ['localhost', 'db_client', 'root']);

// Conexion a db_test
Database::query('select * from ... where id = :id', ['id' => 1]);

// Conexio a db_test
Database::connection('connection_name2')->query('select * from ... where id = :id', ['id' => 1]);

// Conexion a db_client
Database::query('select * from ... where id = :id', ['id' => 1]);

Por el método connect

Usando el método connect se puede colocar los datos de conexión y las opciones:

Definiciones

void connect(string $host, string $dbname, string $username [, string $password [, array $options ]])
void connect(array $config)

Ejemplos

DB::connect('localhost', 'test', 'root', 'password', [PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_BOTH]);
DB::connect(['dbname' => 'test', 'charset' => 'utf8']);

En el caso de connect(array) los valores que se admiten son los mismos que permite PDO_MYSQL DSN (dbname, host, etc.), ademas de username, password y options.

DNS

Para obtener el DNS que se esta usando:

DB::get_instance()->get_dns(); // mysql:host=localhost;dbname=test;charset=utf8

PDO

Si quieres el objeto PDO:

DB::get_instance()->get_pdo();

Para mayor información no olvides visitar: