PHP SQL query builder and executor, using PDO.
π Go to documentation
Installation via composer:
composer require tomrf/seminorm$db = new \Tomrf\Seminorm\Seminorm(
new PdoConnection(
PdoConnection::dsn(
'mysql',
'my_database',
'localhost',
),
'username',
'password',
[] // array of PDO options, ATTR_PERSISTENT, ATTR_ERRMODE etc..
),
new Factory(QueryBuilder::class),
new Factory(PdoQueryExecutor::class),
null, // optional row class, defaults to array
null, // optional data value class, defaults to string
);
$rows = $db->execute(
'SELECT * FROM `my_table` WHERE id = :id',
[ 'id' => 1 ]
)->findMany();
$rowId = $db->execute(
$db->query()->insertInto(
'my_table',
[ 'name' => 'My Name', 'email' => 'mail@example.com' ]
)
)->getLastInsertId();
...composer testThis project is released under the MIT License (MIT). See LICENSE for more information.
- Tomrf\Seminorm\Seminorm
- Tomrf\Seminorm\Data\ImmutableArrayObject
- Tomrf\Seminorm\Data\Row
- Tomrf\Seminorm\Data\Value
- Tomrf\Seminorm\Factory\Factory
- Tomrf\Seminorm\Pdo\PdoConnection
- Tomrf\Seminorm\Pdo\PdoQueryExecutor
- Tomrf\Seminorm\QueryBuilder\QueryBuilder
- Tomrf\Seminorm\Sql\SqlCompiler
public function __construct(
Tomrf\Seminorm\Pdo\PdoConnection $connection,
Tomrf\Seminorm\Factory\Factory $queryBuilderFactory,
Tomrf\Seminorm\Factory\Factory $queryExecutorFactory,
?string $rowClass = '',
?string $valueClass = ''
): voidReturn the active connection.
public function getConnection(): Tomrf\Seminorm\Pdo\PdoConnectionpublic function query(): Tomrf\Seminorm\QueryBuilder\QueryBuilderpublic function execute(
Tomrf\Seminorm\Interface\QueryBuilderInterface|string $query,
array $parameters = []
): Tomrf\Seminorm\Pdo\PdoQueryExecutor
@param array<int|string,mixed> $parametersSets a logger.
public function setLogger(
Psr\Log\LoggerInterface $logger
): void
@param \Tomrf\Seminorm\LoggerInterface $loggerpublic function __get(
string $name
): mixedpublic function __isset(
mixed $name
): voidpublic function offsetSet(
mixed $key,
mixed $value
): void
@SuppressWarnings (PHPMD.UnusedFormalParameter)public function offsetUnset(
mixed $key
): void
@SuppressWarnings (PHPMD.UnusedFormalParameter)public function offsetGet(
mixed $key
): mixedpublic function offsetExists(
mixed $key
): boolpublic function __construct(
object|array $array = [],
int $flags = 0,
string $iteratorClass = 'ArrayIterator'
): voidpublic function append(
mixed $value
): voidpublic function getArrayCopy(): voidpublic function count(): voidpublic function getFlags(): voidpublic function setFlags(
int $flags
): voidpublic function asort(
int $flags = 0
): voidpublic function ksort(
int $flags = 0
): voidpublic function uasort(
callable $callback
): voidpublic function uksort(
callable $callback
): voidpublic function natsort(): voidpublic function natcasesort(): voidpublic function unserialize(
string $data
): voidpublic function serialize(): voidpublic function __serialize(): voidpublic function __unserialize(
array $data
): voidpublic function getIterator(): voidpublic function exchangeArray(
object|array $array
): voidpublic function setIteratorClass(
string $iteratorClass
): voidpublic function getIteratorClass(): voidpublic function __debugInfo(): voidpublic function toArray(): array
@return array <string,mixed>public function toJson(): stringpublic function __get(
string $name
): mixedpublic function __isset(
mixed $name
): voidpublic function offsetSet(
mixed $key,
mixed $value
): void
@SuppressWarnings (PHPMD.UnusedFormalParameter)public function offsetUnset(
mixed $key
): void
@SuppressWarnings (PHPMD.UnusedFormalParameter)public function offsetGet(
mixed $key
): mixedpublic function offsetExists(
mixed $key
): boolpublic function __construct(
object|array $array = [],
int $flags = 0,
string $iteratorClass = 'ArrayIterator'
): voidpublic function append(
mixed $value
): voidpublic function getArrayCopy(): voidpublic function count(): voidpublic function getFlags(): voidpublic function setFlags(
int $flags
): voidpublic function asort(
int $flags = 0
): voidpublic function ksort(
int $flags = 0
): voidpublic function uasort(
callable $callback
): voidpublic function uksort(
callable $callback
): voidpublic function natsort(): voidpublic function natcasesort(): voidpublic function unserialize(
string $data
): voidpublic function serialize(): voidpublic function __serialize(): voidpublic function __unserialize(
array $data
): voidpublic function getIterator(): voidpublic function exchangeArray(
object|array $array
): voidpublic function setIteratorClass(
string $iteratorClass
): voidpublic function getIteratorClass(): voidpublic function __debugInfo(): voidpublic function __construct(
string|int|float|bool|null $data
): voidpublic function __toString(): stringpublic function asString(): stringpublic function asInt(): intpublic function asFloat(): floatpublic function asBool(): boolpublic function isNumeric(): boolpublic function isInt(): boolpublic function isString(): boolpublic function isBool(): boolpublic function isNull(): boolpublic function getType(): stringpublic function __construct(
string $class
): void
@param class-string $classpublic function make(
mixed $params
): mixedpublic function __construct(
PDO|string $dsnOrPdo,
?string $username = '',
?string $password = '',
?array $options = []
): void
@param \PDO|string $dsnOrPdo DSN string or an existing PDO object
@param null|array<int,int> $options PDO options arrayGet the PDO resource object for this connection.
public function getPdo(): ?PDOGet PDO options array for this connection.
public function getOptions(): ?array
@return null|array<int,int>Returns true if database connection has been established.
public function isConnected(): boolGet the value of DSN.
public function getDsn(): ?stringGet the value of username.
public function getUsername(): ?stringStatic helper function to build DSN string for PDO.
public static function dsn(
string $driver,
string $dbname,
?string $host = '',
int $port = 3306,
string $charset = 'utf8mb4'
): stringConnect to the database if not already connected.
public function connect(): void
@throws \RuntimeExceptionDisconnect from the database.
public function disconnect(): voidMask password when dumping.
public function __debugInfo(): array
@return array<string,string|null|array<int,int>>public function __construct(
Tomrf\Seminorm\Pdo\PdoConnection $connection,
?string $rowClass = '',
?string $valueClass = ''
): voidReturns the number of rows affected by the last SQL statement.
public function getRowCount(): intReturns the last inserted row ID as string.
public function getLastInsertId(): string|falsePrepare and execute PDOStatement from an instance of QueryBuilderInterface.
public function execute(
Tomrf\Seminorm\Interface\QueryBuilderInterface|string $query,
array $parameters = []
): static
@throws \PDOExceptionFetch next row from the result set as Row.
public function findOne(): object|array|null
@return null|(null|object|string)[]|objectFetch all rows from query result set.
public function findMany(): object|array
@return array<int,(null|object|string)[]|object>public function __toString(): stringpublic function selectFrom(
string $table,
string $columns
): staticInsert a row into a table
public function insertInto(
string $table,
array $values = []
): static
@param string $table
@param array<string,int|string|float|null> $values
@throws \InvalidArgumentExceptionpublic function update(
string $table,
array $values = []
): static
@param array<string,int|string|float|null> $values
@throws \InvalidArgumentExceptionpublic function deleteFrom(
string $table
): staticpublic function set(
string $column,
string|int|float $value
): staticpublic function setRaw(
string $column,
string $expression
): staticpublic function setFromArray(
array $values
): static
@param array<string,null|float|int|string> $values
@throws \InvalidArgumentExceptionpublic function alias(
string $expression,
string $alias
): staticpublic function join(
string $table,
string $joinCondition,
?string $joinType = ''
): staticpublic function limit(
int $limit,
?int $offset = null
): staticpublic function offset(
int $offset
): staticpublic function onDuplicateKey(
string $expression
): staticpublic function getQuery(): stringpublic function getQueryParameters(): array
@return (null|bool|float|int|string)[]public function orderByAsc(
string $column
): staticpublic function orderByDesc(
string $column
): staticpublic function select(
string $columns
): staticpublic function selectAs(
string $expression,
string $alias
): staticpublic function selectRaw(
string $expressions
): staticpublic function selectRawAs(
string $expression,
string $alias
): staticpublic function where(
string $column,
string $operator,
string|int|float $value
): staticpublic function whereRaw(
string $expression
): staticpublic function whereColumnRaw(
string $column,
string $expression
): staticpublic function whereEqual(
string $column,
string|int|float $value
): staticpublic function whereNotEqual(
string $column,
string|int|float $value
): staticpublic function whereNull(
string $column
): staticpublic function whereNotNull(
string $column
): staticpublic function getQuery(): stringpublic function getQueryParameters(): array
@return (null|bool|float|int|string)[]Generated 2022-11-11T01:32:36+01:00 using πtomrf/readme-gen