caisse-bliss/vendor/doctrine/migrations/lib/Doctrine/Migrations/Query/Query.php

61 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace Doctrine\Migrations\Query;
use Doctrine\Migrations\Query\Exception\InvalidArguments;
use function count;
/**
* The Query wraps the sql query, parameters and types.
*/
final class Query
{
private string $statement;
/** @var mixed[] */
private array $parameters;
/** @var mixed[] */
private array $types;
/**
* @param mixed[] $parameters
* @param mixed[] $types
*/
public function __construct(string $statement, array $parameters = [], array $types = [])
{
if (count($types) > count($parameters)) {
throw InvalidArguments::wrongTypesArgumentCount($statement, count($parameters), count($types));
}
$this->statement = $statement;
$this->parameters = $parameters;
$this->types = $types;
}
public function __toString(): string
{
return $this->statement;
}
public function getStatement(): string
{
return $this->statement;
}
/** @return mixed[] */
public function getParameters(): array
{
return $this->parameters;
}
/** @return mixed[] */
public function getTypes(): array
{
return $this->types;
}
}