Efficient PDO Database connection wrapper. Reads settings from settings.ini/SETTINGS global constaant

2.9.3 2025-03-07 17:57 UTC

README

Singleton that uses POD and connects with the following options

  • FETCH_BOUND
  • ERRMODE_EXCEPTION
  • SET NAMES utf8

Interface

  • getConnection static returns the single instance PDO object
  • throw DatabaseException

Configure

Use kingsoft/Utils to include a settings file

require $_SERVER['DOCUMENT_ROOT'] . '/vendor/kingsoft/utils/settings.inc.php';

The settings file should include this

[db]
hostname=hostname
database=database
username=username
password=password

Documenter

A simple database documenter generaring the code to create tables, view, procedure and functions. Make sure the DB user has the proper rights to create these otherwise the result will be empty

Sample

$dsn        = "mysql:host=" . SETTINGS['db']['hostname'] . ";dbname=" . SETTINGS['db']['database'];
$connection = new PDO(
    $dsn,
    SETTINGS['db']['username'],
    SETTINGS['db']['password'] );
$documentor = ( new \Documentor( $connection, SETTINGS['db']['database'] ) )
    ->do_tables()
    ->do_procedures()
    ->do_functions()
;