DALphpPDO هي مكتبة PHP تسمح لك بالاتصال والاستعلام والحصول على النتائج من جميع قواعد البيانات العلائقية الرئيسية.
التكوينات موجودة في الملف /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");