DALphpPDO é uma biblioteca php que permite conectar, consultar e obter resultados de todos os principais bancos de dados relacionais.
As configurações residem no arquivo /Settings.php . Exemplo de configurações do 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
],
configurações são concebidas como pools, cada pool tem o nome do driver RDBMS correspondente como um nome global para o pool como no exemplo acima. carregar essas configurações é simples:
$configs = new DatabaseConfiguration();
/**
* without parameters loads the default configurations
* for the default pool which is mysql
*/
ou:
$configs = new DatabaseConfiguration('pgsql');
ou
$configs = new DatabaseConfiguration('odbc', 'path/to/settings/file');
criar a instância de conexão requer um objeto DatabaseConfiguration que contém todos os parâmetros necessários para abrir uma conexão através do PDO do PHP. criar uma instância de conexão é simples:
$dbConnect = new DatabaseConnection($configs);
para consultas de banco de dados você precisa instanciar o QueryBuilderBase que é o motor que gera consultas SQL e executá-las sem a necessidade de lidar diretamente com a sintaxe SQL. tudo o que esse objeto precisa é do objeto DatabaseConnection que contém todas as informações necessárias para a conexão do banco de dados.
$qb = new QueryBuilderBase($dbConnect);
criar consultas é tão simples quanto criar consultas SQL nativas.
$qb->select('column_name')->from('table_name');
//selects a spesific column from the spesific table
ou
$qb->select(['column_name', 'column_name',...])->from('table_name');
//selects multiple columns from the spesific table
ou
$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");