<?php
final class DbConnection {
private $dsn;
private $initialized = false;
public function __construct($dsn) {
$this->dsn = $dsn;
}
private function init() {
$this->initialized = true;
// socket stuff happens here, much like with PDO
}
public function query($queryString) {
$this->initialized || $this->init();
// irrelevant from here on
return ['query' => $queryString, 'dsn' => $this->dsn];
}
}
$db_conn = new DbConnection('mysql://something');
var_dump(
$db_conn,
$db_conn->query('SELECT * FROM foo'),
$db_conn->query('SELECT * FROM bar')
);