/**
  * @param array|\Zend\Db\Adapter\Driver\DriverInterface $config
  * @throws UnsupportedDriverException
  * @return \Zend\Db\Adapter\Adapter
  */
 public static function factory($config)
 {
     $platform = new SphinxQL();
     $adapter = new ZendDBAdapter($config, $platform);
     $driver = $adapter->getDriver();
     // Check driver
     if ($driver instanceof ZendPdoDriver && $driver->getDatabasePlatformName(ZendPdoDriver::NAME_FORMAT_CAMELCASE) == 'Mysql') {
         $driver->registerStatementPrototype(new PdoStatement());
     } elseif (!$driver instanceof ZendMysqliDriver) {
         $class = get_class($driver);
         throw new UnsupportedDriverException($class . ' not supported. Use Zend\\Db\\Adapter\\Driver\\Pdo\\Pdo or Zend\\Db\\Adapter\\Driver\\Mysqli\\Mysqli');
     }
     $platform->setDriver($adapter->getDriver());
     return $adapter;
 }
 /**
  * Create a DB adapter
  *
  * @param  ServiceLocatorInterface $services
  * @param  string $name
  * @param  string $requestedName
  * @throws Exception\UnsupportedDriverException
  * @return \Zend\Db\Adapter\Adapter
  */
 public function createServiceWithName(ServiceLocatorInterface $services, $name, $requestedName)
 {
     $config = $this->getConfig($services);
     $platform = new SphinxQL();
     $adapter = new ZendDBAdapter($config[$requestedName], $platform);
     $driver = $adapter->getDriver();
     // Check driver
     if ($driver instanceof ZendPdoDriver && $driver->getDatabasePlatformName(ZendPdoDriver::NAME_FORMAT_CAMELCASE) == 'Mysql') {
         $driver->registerStatementPrototype(new PdoStatement());
     } elseif (!$driver instanceof ZendMysqliDriver) {
         $class = get_class($driver);
         throw new UnsupportedDriverException($class . ' not supported. Use Zend\\Db\\Adapter\\Driver\\Pdo\\Pdo or Zend\\Db\\Adapter\\Driver\\Mysqli\\Mysqli');
     }
     $platform->setDriver($adapter->getDriver());
     return $adapter;
 }