implementare le transaction nel senso che io magari vorrei fare:

Codice PHP:

//da qualche parte nella mia app
$conn = new dbManager();

....


//ad un certo punto apro la connessione
$conn->open();


....

//eseguo query varie
$ret $conn->executeQuery("my sql");

...

//voglio fare una transazione
$conn->begin();

$ret $conn->executeQuery("my sql");

if(!
$ret)
  
$conn->rollback();
else
  
$conn->commit();

...


//fine sezione con il dbManager
$conn->close(); 
Il fatto che con la tua classe tu non possa scegliere quando aprire e chiudere la connessione in maniera implicita, io la vedo un pò come una limitazione. Il non poter aprire/chiudere transazioni indipendentemente da eventuali procedure impostate nel db, la vedo come una limitazione. L'handler degli errori usando echo e exit, la vedo come un errore: usa throw per lanciare eccezioni catturabili con try/catch dalle classi/Script che usano questa classe. Il resto poi non l'ho guardato

ps: usa i tag [ P H P ] e [ / P H P ] per includere codici php che altrimenti sono poco leggibli