DALphpPDO es una biblioteca PHP que le permite conectarse, consultar y obtener resultados de todos los principales DBMS relacionales.
Las configuraciones residen en el archivo /Settings.php . Ejemplo de configuraciones de Mysql:
'mysql' => [ //the default pool (driver)
'driver' => 'mysql',
'host' => 'localhost',
'dbname' => 'database_name',
'user' => 'user',
'password' => 'passwd',
'prefix' => 'DB1_',
'port' => 3306,
'persistent' => 1,
'fetchmode' => 'object',
'prepare' => 1
],
Las configuraciones se diseñan como grupos, cada grupo tiene el nombre del controlador RDBMS correspondiente como nombre global para el grupo, como en el ejemplo anterior. cargar estas configuraciones es sencillo:
$configs = new DatabaseConfiguration();
/**
* without parameters loads the default configurations
* for the default pool which is mysql
*/
o:
$configs = new DatabaseConfiguration('pgsql');
o
$configs = new DatabaseConfiguration('odbc', 'path/to/settings/file');
La creación de la instancia de conexión requiere un objeto DatabaseConfiguration que contenga todos los parámetros necesarios para abrir una conexión a través del PDO de PHP. Crear una instancia de conexión es sencillo:
$dbConnect = new DatabaseConnection($configs);
para consultas de bases de datos, necesita crear una instancia de QueryBuilderBase, que es el motor que genera consultas SQL y las ejecuta sin la necesidad de tratar directamente con la sintaxis SQL. Todo lo que este objeto necesita es el objeto DatabaseConnection que contiene toda la información necesaria para la conexión de la base de datos.
$qb = new QueryBuilderBase($dbConnect);
Crear consultas es tan simple como crear consultas SQL nativas.
$qb->select('column_name')->from('table_name');
//selects a spesific column from the spesific table
o
$qb->select(['column_name', 'column_name',...])->from('table_name');
//selects multiple columns from the spesific table
o
$qb->select()->from('table_name');
//selects all columns from the spesific table
$qb->select('column_name')->from('table_name')->where("column = value");
$qb->select('column_name')->from('table_name')->where("column = value")->andWhere("column = value");
$qb->select('column_name')->from('table_name')->where("column = value")->orWhere("column = value");
$qb->select('column_name')->from('table_name')->where("column = value")->orWhere("column = value")->groupBy("column_name");