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');
PDO::__constructor
Similar a Connection::to(['dsn' => 'mysql:host='.$host.';dbname='.$database, 'username' => 'root', 'password' => '', 'options' => array()]);
Omitir
mysql:
puesto que solo se puede conectar a mysql, quedariahost=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]);
connect
Por el método 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 deusername
,password
yoptions
.
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: