<?php /** * @see https://github.com/laminas/laminas-db for the canonical source repository * @copyright https://github.com/laminas/laminas-db/blob/master/COPYRIGHT.md * @license https://github.com/laminas/laminas-db/blob/master/LICENSE.md New BSD License */ namespace Laminas\Db\Sql; use Laminas\Db\Adapter\AdapterInterface; use Laminas\Db\Adapter\ParameterContainer; use Laminas\Db\Adapter\StatementContainerInterface; abstract class AbstractPreparableSql extends AbstractSql implements PreparableSqlInterface { /** * {@inheritDoc} * * @return StatementContainerInterface */ public function prepareStatement(AdapterInterface $adapter, StatementContainerInterface $statementContainer) { $parameterContainer = $statementContainer->getParameterContainer(); if (! $parameterContainer instanceof ParameterContainer) { $parameterContainer = new ParameterContainer(); $statementContainer->setParameterContainer($parameterContainer); } $statementContainer->setSql( $this->buildSqlString($adapter->getPlatform(), $adapter->getDriver(), $parameterContainer) ); return $statementContainer; } }