<?php
// PHP Weirdness.

class Base extends PDO {
  public function __construct() {
    parent::__construct('sqlite:x.db', '', '', array(PDO::ATTR_PERSISTENT => true));
  }
}

class A extends Base {
  public function __construct() {
    parent::__construct();
  }
}

class B extends Base {
  public function __construct() {
    parent::__construct();
  }
}

$a = new A();
$b = new B();

var_dump($a);
// Outputs: object(B)#1 (0)
// This is due to the PDO::ATTR_PERSISTENT flag above.

?>