You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.2 KiB
70 lines
1.2 KiB
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Doctrine\DBAL;
|
|
|
|
use Doctrine\DBAL\Types\Type;
|
|
|
|
/**
|
|
* An SQL query together with its bound parameters.
|
|
*
|
|
* @psalm-immutable
|
|
*/
|
|
final class Query
|
|
{
|
|
/**
|
|
* The SQL query.
|
|
*
|
|
* @var string
|
|
*/
|
|
private $sql;
|
|
|
|
/**
|
|
* The parameters bound to the query.
|
|
*
|
|
* @var array<mixed>
|
|
*/
|
|
private $params;
|
|
|
|
/**
|
|
* The types of the parameters bound to the query.
|
|
*
|
|
* @var array<Type|int|string|null>
|
|
*/
|
|
private $types;
|
|
|
|
/**
|
|
* @param array<mixed> $params
|
|
* @param array<Type|int|string|null> $types
|
|
*
|
|
* @psalm-suppress ImpurePropertyAssignment
|
|
*/
|
|
public function __construct(string $sql, array $params, array $types)
|
|
{
|
|
$this->sql = $sql;
|
|
$this->params = $params;
|
|
$this->types = $types;
|
|
}
|
|
|
|
public function getSQL(): string
|
|
{
|
|
return $this->sql;
|
|
}
|
|
|
|
/**
|
|
* @return array<mixed>
|
|
*/
|
|
public function getParams(): array
|
|
{
|
|
return $this->params;
|
|
}
|
|
|
|
/**
|
|
* @return array<Type|int|string|null>
|
|
*/
|
|
public function getTypes(): array
|
|
{
|
|
return $this->types;
|
|
}
|
|
}
|
|
|