setDriver($driver); } } /** * @param \Zend\Db\Adapter\Driver\Pdo\Pdo|\PDO $driver * @return self Provides a fluent interface * @throws \Zend\Db\Adapter\Exception\InvalidArgumentException */ public function setDriver($driver) { if (($driver instanceof \PDO && $driver->getAttribute(\PDO::ATTR_DRIVER_NAME) == 'sqlite') || ($driver instanceof Pdo\Pdo && $driver->getDatabasePlatformName() == 'Sqlite') ) { $this->resource = $driver; return $this; } throw new Exception\InvalidArgumentException( '$driver must be a Sqlite PDO Zend\Db\Adapter\Driver, Sqlite PDO instance' ); } /** * {@inheritDoc} */ public function getName() { return 'SQLite'; } /** * {@inheritDoc} */ public function quoteValue($value) { $resource = $this->resource; if ($resource instanceof DriverInterface) { $resource = $resource->getConnection()->getResource(); } if ($resource instanceof \PDO) { return $resource->quote($value); } return parent::quoteValue($value); } /** * {@inheritDoc} */ public function quoteTrustedValue($value) { $resource = $this->resource; if ($resource instanceof DriverInterface) { $resource = $resource->getConnection()->getResource(); } if ($resource instanceof \PDO) { return $resource->quote($value); } return parent::quoteTrustedValue($value); } }