DALphpPDO เป็นไลบรารี php ที่ให้คุณเชื่อมต่อ สืบค้น และรับผลลัพธ์จาก dbms เชิงสัมพันธ์หลักทั้งหมด
การกำหนดค่าอยู่ในไฟล์ /Settings.php ตัวอย่างการกำหนดค่า 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
],
การกำหนดค่าถูกกำหนดให้เป็นพูล โดยแต่ละพูลจะมีชื่อไดรเวอร์ RDBMS ที่สอดคล้องกันเป็นชื่อสากลสำหรับพูลดังตัวอย่างด้านบน การโหลดการกำหนดค่าเหล่านี้เป็นเรื่องที่ตรงไปตรงมา:
$configs = new DatabaseConfiguration();
/**
* without parameters loads the default configurations
* for the default pool which is mysql
*/
หรือ:
$configs = new DatabaseConfiguration('pgsql');
หรือ
$configs = new DatabaseConfiguration('odbc', 'path/to/settings/file');
การสร้างอินสแตนซ์การเชื่อมต่อต้องใช้ออบเจ็กต์ DatabaseConfiguration ที่เก็บพารามิเตอร์ที่จำเป็นทั้งหมดเพื่อเปิดการเชื่อมต่อผ่าน PDO ของ PHP การสร้างอินสแตนซ์การเชื่อมต่อนั้นตรงไปตรงมา:
$dbConnect = new DatabaseConnection($configs);
สำหรับการสืบค้นฐานข้อมูล คุณต้องสร้างอินสแตนซ์ QueryBuilderBase ซึ่งเป็นเอ็นจิ้นที่สร้างการสืบค้น SQL และดำเนินการโดยไม่ต้องจัดการกับไวยากรณ์ SQL โดยตรง ความต้องการออบเจ็กต์ทั้งหมดนี้คือออบเจ็กต์ DatabaseConnection ที่เก็บข้อมูลที่จำเป็นทั้งหมดสำหรับการเชื่อมต่อฐานข้อมูล
$qb = new QueryBuilderBase($dbConnect);
การสร้างแบบสอบถามนั้นง่ายพอ ๆ กับการสร้างแบบสอบถาม SQL ดั้งเดิม
$qb->select('column_name')->from('table_name');
//selects a spesific column from the spesific table
หรือ
$qb->select(['column_name', 'column_name',...])->from('table_name');
//selects multiple columns from the spesific table
หรือ
$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");