setupStrategy = new MySQLSetupStrategy(); $this->insertionStrategy = new PDOInsertionStrategy(); } elseif ($type == 'pgsql') { $this->setupStrategy = new PgSQLSetupStrategy(); $this->insertionStrategy = new PDOInsertionStrategy(); } else { throw new \Exception('Unsupported backend '.$type); } } public function insert(TestFixture $fixture) { $this->insertionStrategy->insert($fixture); } public function setup($version = null, $connection = null) { $c = $this->setupStrategy->setup($version, $connection); $this->insertionStrategy->setConnection($c); } public function teardown($connection = null) { $this->setupStrategy->teardown($connection); } public function setConnection($connection) { $this->insertionStrategy->setConnection($connection); } }