From c1d1952cecd2496ba65fa3fd953c535f1fbf0e79 Mon Sep 17 00:00:00 2001 From: noelma Date: Wed, 8 Dec 2021 20:45:39 +0100 Subject: [PATCH] refactor: rename column names with more precision --- src/Request.php | 48 ++++++------- src/RequestHandler.php | 106 ++++++++++++++-------------- src/RequestInterface.php | 37 +++++----- src/Schema.php | 9 +-- src/Where.php | 50 ++++++------- src/WhereHandler.php | 148 +++++++++++++++++++-------------------- 6 files changed, 201 insertions(+), 197 deletions(-) diff --git a/src/Request.php b/src/Request.php index 7c7e3f7..f236d70 100644 --- a/src/Request.php +++ b/src/Request.php @@ -79,7 +79,7 @@ public function __toString(): string if ($this->execute) { $output .= strtoupper($this->execute) . ' '; } else { - $output .= sprintf('SELECT %s ', $this->columns ? addslashes(implode(', ', $this->columns)) : '*'); + $output .= sprintf('SELECT %s ', $this->columnNames ? addslashes(implode(', ', $this->columnNames)) : '*'); } if ($this->from) { $output .= sprintf('FROM %s ', addslashes($this->from)); @@ -206,7 +206,7 @@ public function fetchAll(): array /* Le pointeur en cas de limite de résultat. */ $i = 0; - $column = array_flip($this->columns); + $columnNameKeys = array_flip($this->columnNames); /* * Exécution des jointures. @@ -234,8 +234,8 @@ public function fetchAll(): array } /* SELECT */ - $return[] = $this->columns - ? array_intersect_key($row, $column) + $return[] = $this->columnNames + ? array_intersect_key($row, $columnNameKeys) : $row; } @@ -444,7 +444,7 @@ protected function executeInsert(): void $increment = $this->table->getIncrement(); /* Je charge les colonnes de mon schéma. */ $fields = $this->table->getFields(); - $count = count($this->columns); + $count = count($this->columnNames); foreach ($this->values as $values) { /* Pour chaque ligne je vérifie si le nombre de colonne correspond au nombre valeur insérée. */ @@ -452,19 +452,19 @@ protected function executeInsert(): void throw new ColumnsNotFoundException( sprintf( 'The number of fields in the selections are different: %s != %s', - implode(', ', $this->columns), + implode(', ', $this->columnNames), implode(', ', $values) ) ); } /* Je prépare l'association clé=>valeur pour chaque ligne à insérer. */ - $row = array_combine($this->columns, $values); + $row = array_combine($this->columnNames, $values); if ($row == false) { throw new ColumnsNotFoundException( sprintf( 'The number of fields in the selections are different: %s != %s', - implode(', ', $this->columns), + implode(', ', $this->columnNames), implode(', ', $values) ) ); @@ -567,8 +567,8 @@ private function filterFrom(): void */ private function filterSelect(): void { - if ($this->columns) { - $this->diffColumns($this->columns); + if ($this->columnNames) { + $this->diffColumnNames($this->columnNames); } } @@ -593,19 +593,19 @@ private function filterLimit(): void */ private function filterWhere(): void { - $columns = []; + $columnNames = []; /* Merge toutes les colonnes des conditions de chaque jointure. */ foreach ($this->joins as $value) { - $columns = array_merge($columns, $value[ 'where' ]->getColumns()); + $columnNames = array_merge($columnNames, $value[ 'where' ]->getColumnNames()); } /* Merge les colonnes des conditions de la requête courante. */ if ($this->where) { - $columns = array_merge($columns, $this->where->getColumns()); + $columnNames = array_merge($columnNames, $this->where->getColumnNames()); } - if ($columns) { - $this->diffColumns($columns); + if ($columnNames) { + $this->diffColumnNames($columnNames); } } @@ -620,8 +620,8 @@ private function filterOrderBy(): void return; } - $columns = array_keys($this->orderBy); - $this->diffColumns($columns); + $columnNames = array_keys($this->orderBy); + $this->diffColumnNames($columnNames); foreach ($this->orderBy as $field => $order) { if ($order !== SORT_ASC && $order !== SORT_DESC) { @@ -639,17 +639,17 @@ private function filterOrderBy(): void */ private function filterUnion(): void { - $count = count($this->columns); + $count = count($this->columnNames); foreach ($this->unions as $union) { - if ($count === count($union[ 'request' ]->getColumns())) { + if ($count === count($union[ 'request' ]->getColumnNames())) { continue; } throw new ColumnsNotFoundException( sprintf( 'The number of fields in the selections are different: %s != %s', - implode(', ', $this->columns), - implode(', ', $union[ 'request' ]->getColumns()) + implode(', ', $this->columnNames), + implode(', ', $union[ 'request' ]->getColumnNames()) ) ); } @@ -659,14 +659,14 @@ private function filterUnion(): void * Déclenche une exception si l'un des champs passés en paramètre diffère * des champs disponibles dans les tables. * - * @param string[] $columns Liste des champs. + * @param string[] $columnNames Liste des nom des champs. * * @throws ColumnsNotFoundException */ - private function diffColumns(array $columns): void + private function diffColumnNames(array $columnNames): void { $diff = array_diff_key( - array_flip($columns), + array_flip($columnNames), $this->allFieldsSchema ); diff --git a/src/RequestHandler.php b/src/RequestHandler.php index 4289d87..0b7d719 100644 --- a/src/RequestHandler.php +++ b/src/RequestHandler.php @@ -17,30 +17,30 @@ * * @author Mathieu NOËL * - * @method Request where(string $column, string $operator, null|scalar $value) Alias de la fonction de l'objet Queryflatfile\Where - * @method Request notWhere(string $column, string $operator, null|scalar $value) Alias de la fonction de l'objet Queryflatfile\Where - * @method Request orWhere(string $column, string $operator, null|scalar $value) Alias de la fonction de l'objet Queryflatfile\Where - * @method Request orNotWhere(string $column, string $operator, null|scalar $value) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request where(string $columnName, string $operator, null|scalar $value) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request notWhere(string $columnName, string $operator, null|scalar $value) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request orWhere(string $columnName, string $operator, null|scalar $value) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request orNotWhere(string $columnName, string $operator, null|scalar $value) Alias de la fonction de l'objet Queryflatfile\Where * - * @method Request between(string $column, numeric|string $min, numeric|string $max) Alias de la fonction de l'objet Queryflatfile\Where - * @method Request orBetween(string $column, numeric|string $min, numeric|string $max) Alias de la fonction de l'objet Queryflatfile\Where - * @method Request notBetween(string $column, numeric|string $min, numeric|string $max) Alias de la fonction de l'objet Queryflatfile\Where - * @method Request orNotBetween(string $column, numeric|string $min, numeric|string $max) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request between(string $columnName, numeric|string $min, numeric|string $max) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request orBetween(string $columnName, numeric|string $min, numeric|string $max) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request notBetween(string $columnName, numeric|string $min, numeric|string $max) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request orNotBetween(string $columnName, numeric|string $min, numeric|string $max) Alias de la fonction de l'objet Queryflatfile\Where * - * @method Request in(string $column, array $values) Alias de la fonction de l'objet Queryflatfile\Where - * @method Request orIn(string $column, array $values) Alias de la fonction de l'objet Queryflatfile\Where - * @method Request notIn(string $column, array $values) Alias de la fonction de l'objet Queryflatfile\Where - * @method Request orNotIn(string $column, array $values) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request in(string $columnName, array $values) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request orIn(string $columnName, array $values) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request notIn(string $columnName, array $values) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request orNotIn(string $columnName, array $values) Alias de la fonction de l'objet Queryflatfile\Where * - * @method Request isNull(string $column) Alias de la fonction de l'objet Queryflatfile\Where - * @method Request orIsNull(string $column) Alias de la fonction de l'objet Queryflatfile\Where - * @method Request isNotNull(string $column) Alias de la fonction de l'objet Queryflatfile\Where - * @method Request orIsNotNull(string $column) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request isNull(string $columnName) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request orIsNull(string $columnName) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request isNotNull(string $columnName) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request orIsNotNull(string $columnName) Alias de la fonction de l'objet Queryflatfile\Where * - * @method Request regex(string $column, string $pattern) Alias de la fonction de l'objet Queryflatfile\Where - * @method Request orRegex(string $column, string $pattern) Alias de la fonction de l'objet Queryflatfile\Where - * @method Request notRegex(string $column, string $pattern) Alias de la fonction de l'objet Queryflatfile\Where - * @method Request orNotRegex(string $column, string $pattern) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request regex(string $columnName, string $pattern) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request orRegex(string $columnName, string $pattern) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request notRegex(string $columnName, string $pattern) Alias de la fonction de l'objet Queryflatfile\Where + * @method Request orNotRegex(string $columnName, string $pattern) Alias de la fonction de l'objet Queryflatfile\Where * * @method Request whereGroup(\Closure $callable) Alias de la fonction de l'objet Queryflatfile\Where * @method Request notWhereGroup(\Closure $callable) Alias de la fonction de l'objet Queryflatfile\Where @@ -135,7 +135,7 @@ abstract class RequestHandler implements RequestInterface * * @var string[] */ - protected $columns = []; + protected $columnNames = []; /** * Les valeurs à insérer ou mettre à jour. @@ -202,18 +202,18 @@ public function from(string $tableName) /** * {@inheritdoc} */ - public function getColumns(): array + public function getColumnNames(): array { - return $this->columns; + return $this->columnNames; } /** * {@inheritdoc} */ - public function insertInto(string $tableName, array $columns) + public function insertInto(string $tableName, array $columnNames) { $this->execute = self::INSERT; - $this->from($tableName)->select(...$columns); + $this->from($tableName)->select(...$columnNames); return $this; } @@ -248,9 +248,9 @@ public function limit(int $limit, int $offset = 0) /** * {@inheritdoc} */ - public function orderBy(string $column, int $order = SORT_ASC) + public function orderBy(string $columnName, int $order = SORT_ASC) { - $this->orderBy[ $column ] = $order; + $this->orderBy[ $columnName ] = $order; return $this; } @@ -273,10 +273,10 @@ public function rightJoin(string $tableName, $column, string $operator = '', str /** * {@inheritdoc} */ - public function select(string ...$columns) + public function select(string ...$columnNames) { - foreach ($columns as $column) { - $this->columns[] = $column; + foreach ($columnNames as $columnName) { + $this->columnNames[] = $columnName; } return $this; @@ -305,11 +305,11 @@ public function unionAll(RequestInterface $request) /** * {@inheritdoc} */ - public function update(string $tableName, array $columns) + public function update(string $tableName, array $row) { - $this->execute = self::UPDATE; - $this->from($tableName)->select(...array_keys($columns)); - $this->values[ 0 ] = $columns; + $this->execute = self::UPDATE; + $this->from($tableName)->select(...array_keys($row)); + $this->values[ 0 ] = $row; return $this; } @@ -317,9 +317,9 @@ public function update(string $tableName, array $columns) /** * {@inheritdoc} */ - public function values(array $columns) + public function values(array $rowValues) { - $this->values[] = $columns; + $this->values[] = $rowValues; return $this; } @@ -331,16 +331,16 @@ public function values(array $columns) */ protected function init() { - $this->columns = []; - $this->execute = null; - $this->from = ''; - $this->joins = []; - $this->limit = self::ALL; - $this->offset = 0; - $this->orderBy = []; - $this->sumLimit = 0; - $this->unions = []; - $this->values = []; + $this->columnNames = []; + $this->execute = null; + $this->from = ''; + $this->joins = []; + $this->limit = self::ALL; + $this->offset = 0; + $this->orderBy = []; + $this->sumLimit = 0; + $this->unions = []; + $this->values = []; return $this; } @@ -348,16 +348,16 @@ protected function init() /** * Enregistre une jointure. * - * @param string $type Type de la jointure. - * @param string $tableName Nom de la table à joindre - * @param string $column Nom de la colonne d'une des tables précédentes. - * @param string $operator Opérateur logique ou null pour une closure. - * @param string $value Valeur ou une colonne de la table jointe (au format nom_table.colonne) + * @param string $type Type de la jointure. + * @param string $tableName Nom de la table à joindre + * @param string $columnName Nom de la colonne d'une des tables précédentes. + * @param string $operator Opérateur logique ou null pour une closure. + * @param string $value Valeur ou une colonne de la table jointe (au format nom_table.colonne) */ - private function join(string $type, string $tableName, string $column, string $operator, string $value): void + private function join(string $type, string $tableName, string $columnName, string $operator, string $value): void { $where = new Where(); - $where->where($column, $operator, $value); + $where->where($columnName, $operator, $value); $this->joins[] = [ 'type' => $type, 'table' => $tableName, 'where' => $where ]; } diff --git a/src/RequestInterface.php b/src/RequestInterface.php index 20ebf24..9b5d308 100644 --- a/src/RequestInterface.php +++ b/src/RequestInterface.php @@ -18,6 +18,7 @@ * * @author Mathieu NOËL + * @phpstan-import-type RowValues from Schema * @phpstan-import-type RowData from Schema * @phpstan-import-type TableData from Schema */ @@ -47,16 +48,16 @@ public function __toString(): string; * Enregistre les champs sélectionnées par la requête. * En cas d'absence de selection, la requêtes retournera toutes les champs. * - * @param string ...$columns Liste ou tableau des noms des colonnes. + * @param string ...$columnNames Liste ou tableau des noms des colonnes. * * @return $this */ - public function select(string ...$columns); + public function select(string ...$columnNames); /** * @return string[] */ - public function getColumns(): array; + public function getColumnNames(): array; /** * Enregistre le nom de la source des données principale de la requête. @@ -71,7 +72,7 @@ public function from(string $tableName); * Enregistre une jointure gauche. * * @param string $tableName Nom de la table à joindre. - * @param string|\Closure $column Nom de la colonne d'une des tables précédentes + * @param string|\Closure $column Nom de la colonne d'une des tables précédentes ou un group de condition * ou une closure pour affiner les conditions. * @param string $operator Opérateur logique ou null pour une closure. * @param string $value Colonne de la table jointe (au format nom_table.colonne) @@ -84,7 +85,7 @@ public function leftJoin(string $tableName, $column, string $operator = '', stri * Enregistre une jointure droite. * * @param string $tableName Nom de la table à joindre - * @param string|\Closure $column Nom de la colonne d'une des tables précédentes + * @param string|\Closure $column Nom de la colonne d'une des tables précédentes ou un group de condition * ou une closure pour affiner les conditions. * @param string $operator Opérateur logique ou null pour une closure. * @param string $value Colonne de la table jointe (au format nom_table.colonne) @@ -106,46 +107,48 @@ public function limit(int $limit, int $offset = 0); /** * Enregistre un trie des résultats de la requête. * - * @param string $column Colonne à trier. - * @param int $order Ordre du trie (SORT_ASC|SORT_DESC). + * @param string $columnName Nom de la colonne à trier. + * @param int $order Ordre du trie (SORT_ASC|SORT_DESC). * * @return $this */ - public function orderBy(string $column, int $order = SORT_ASC); + public function orderBy(string $columnName, int $order = SORT_ASC); /** * Enregistre l'action d'insertion de données. * Cette fonction doit-être suivie la fonction values(). * - * @param string $tableName Nom de la table. - * @param string[] $columns Liste des champs par ordre d'insertion dans - * la fonction values(). + * @param string $tableName Nom de la table. + * @param string[] $columnNames Liste des champs par ordre d'insertion dans + * la fonction values(). * * @return $this */ - public function insertInto(string $tableName, array $columns); + public function insertInto(string $tableName, array $columnNames); /** * Cette fonction doit suivre la fonction insertInto(). * Les valeurs doivent suivre le même ordre que les clés précédemment enregistrées. * - * @param array $columns Valeurs des champs. + * @param array $rowValues Valeurs des champs. + * + * @phpstan-param RowValues $rowValues * * @return $this */ - public function values(array $columns); + public function values(array $rowValues); /** * Enregistre l'action de modification de données. * * @param string $tableName Nom de la table. - * @param array $columns key=>value des données à modifier. + * @param array $row key=>value des données à modifier. * - * @phpstan-param RowData $columns + * @phpstan-param RowData $row * * @return $this */ - public function update(string $tableName, array $columns); + public function update(string $tableName, array $row); /** * Enregistre l'action de suppression des données. diff --git a/src/Schema.php b/src/Schema.php index 138b59c..034c564 100644 --- a/src/Schema.php +++ b/src/Schema.php @@ -27,6 +27,7 @@ * @author Mathieu NOËL * * @phpstan-type RowData array + * @phpstan-type RowValues array * @phpstan-type TableData RowData[] */ class Schema @@ -354,15 +355,15 @@ public function hasTable(string $tableName): bool /** * Détermine si une colonne existe. * - * @param string $tableName Nom de la table. - * @param string $column Nom de la colonne. + * @param string $tableName Nom de la table. + * @param string $columnName Nom de la colonne. * * @return bool Si le schéma de référence et le fichier de données existent. */ - public function hasColumn(string $tableName, string $column): bool + public function hasColumn(string $tableName, string $columnName): bool { return isset($this->getSchema()[ $tableName ]) && - $this->getSchema()[ $tableName ]->hasField($column) && + $this->getSchema()[ $tableName ]->hasField($columnName) && $this->driver->has($this->root . $this->path, $tableName); } diff --git a/src/Where.php b/src/Where.php index 9d7d9aa..b41ba87 100644 --- a/src/Where.php +++ b/src/Where.php @@ -38,7 +38,7 @@ public function __toString(): string $not = $where[ 'not' ] ? 'NOT ' : ''; - $whereColumn = $where[ 'column' ]; + $whereColumn = $where[ 'columnName' ]; switch ($where[ 'type' ]) { case 'where': $output .= sprintf('%s%s %s %s ', $not, addslashes($whereColumn), $where[ 'condition' ], self::getValueToString($where['value'])); @@ -89,21 +89,21 @@ public function __toString(): string } /** - * Retourne toutes les colonnes utilisées pour créer la clause. + * Retourne les nom de toutes les colonnes utilisées pour créer la clause. * * @return string[] Colonnes. */ - public function getColumns(): array + public function getColumnNames(): array { $output = []; foreach ($this->where as $value) { - if (isset($value[ 'columns' ])) { - $output = array_merge($output, $value[ 'columns' ]); + if (isset($value[ 'columnNames' ])) { + $output = array_merge($output, $value[ 'columnNames' ]); continue; } - $output[] = self::getColumn($value[ 'column' ]); + $output[] = self::getColumn($value[ 'columnName' ]); } return $output; @@ -126,7 +126,7 @@ public function execute(array $row): bool if ($value[ 'value' ] instanceof Where) { $predicate = $value[ 'value' ]->execute($row); } else { - $predicate = self::predicate($row[ $value[ 'column' ] ], $value[ 'condition' ], $value[ 'value' ]); + $predicate = self::predicate($row[ $value[ 'columnName' ] ], $value[ 'condition' ], $value[ 'value' ]); } /* Si la clause est inversé. */ if ($value[ 'not' ]) { @@ -134,7 +134,7 @@ public function execute(array $row): bool } /* Les retours des types regex et like doivent être non null. */ if ($value[ 'type' ] === 'regex' || $value[ 'type' ] === 'like') { - $predicate = $predicate && $row[ $value[ 'column' ] ] !== null; + $predicate = $predicate && $row[ $value[ 'columnName' ] ] !== null; } if ($key === 0) { @@ -171,10 +171,10 @@ public function executeJoin(array $row, array &$rowTable): bool if ($value[ 'value' ] instanceof Where) { $predicate = $value[ 'value' ]->executeJoin($row, $rowTable); } else { - /** @var array{value:string, column: string, condition: string, bool:string} $value */ + /** @var array{value:string, columnName: string, condition: string, bool:string} $value */ $val = $rowTable[ self::getColumn($value[ 'value' ]) ]; - $predicate = self::predicate($row[ $value[ 'column' ] ], $value[ 'condition' ], $val); + $predicate = self::predicate($row[ $value[ 'columnName' ] ], $value[ 'condition' ], $val); } if ($key === 0) { @@ -193,7 +193,7 @@ public function executeJoin(array $row, array &$rowTable): bool /** * Retourne TRUE si la condition est validée. * - * @param null|scalar $columns Valeur à tester. + * @param null|scalar $column Valeur à tester. * @param string $operator Condition à réaliser. * @param array|null|scalar $value Valeur de comparaison. * @@ -201,40 +201,40 @@ public function executeJoin(array $row, array &$rowTable): bool * * @return bool */ - protected static function predicate($columns, string $operator, $value): bool + protected static function predicate($column, string $operator, $value): bool { switch ($operator) { case '==': - return $columns == $value; + return $column == $value; case '=': case '===': - return $columns === $value; + return $column === $value; case '!==': - return $columns !== $value; + return $column !== $value; case '!=': - return $columns != $value; + return $column != $value; case '<>': - return $columns <> $value; + return $column <> $value; case '<': - return $columns < $value; + return $column < $value; case '<=': - return $columns <= $value; + return $column <= $value; case '>': - return $columns > $value; + return $column > $value; case '>=': - return $columns >= $value; + return $column >= $value; case 'in': /** @var array $value */ - return in_array($columns, $value); + return in_array($column, $value); case 'regex': - if ($columns === null) { + if ($column === null) { return false; } /** @var string $value */ - return preg_match($value, (string) $columns) === 1; + return preg_match($value, (string) $column) === 1; case 'between': /** @var Between $value */ - return $columns >= $value[ 'min' ] && $columns <= $value[ 'max' ]; + return $column >= $value[ 'min' ] && $column <= $value[ 'max' ]; } throw new OperatorNotFound( diff --git a/src/WhereHandler.php b/src/WhereHandler.php index 68505e3..c91f6a2 100644 --- a/src/WhereHandler.php +++ b/src/WhereHandler.php @@ -21,8 +21,8 @@ * @phpstan-type Between array{min: numeric|string, max: numeric|string} * @phpstan-type WhereToArray array{ * bool: string, - * column: string, - * columns?: array, + * columnName: string, + * columnNames?: array, * condition: string, * not: bool, * type: string, @@ -62,16 +62,16 @@ class WhereHandler * Ajoute une condition simple pour la requête. * Si la valeur du champ est égal (non égale, supérieur à, ...) par rapport à une valeur. * - * @param string $column Nom d'une colonne. - * @param string $operator Type de condition. - * @param null|scalar $value Valeur de teste. - * @param string $bool Porte logique de la condition (and|or). - * @param bool $not Inverse la condition. + * @param string $columnName Nom d'une colonne. + * @param string $operator Type de condition. + * @param null|scalar $value Valeur de teste. + * @param string $bool Porte logique de la condition (and|or). + * @param bool $not Inverse la condition. * * @throws OperatorNotFound The condition is not exist. */ public function where( - string $column, + string $columnName, string $operator, $value, string $bool = self::EXP_AND, @@ -84,7 +84,7 @@ public function where( throw new QueryException(); } $this->like( - $column, + $columnName, $condition, $value, $bool, @@ -96,7 +96,7 @@ public function where( $type = __FUNCTION__; - $this->where[] = compact('bool', 'column', 'condition', 'not', 'type', 'value'); + $this->where[] = compact('bool', 'columnName', 'condition', 'not', 'type', 'value'); return $this; } @@ -106,9 +106,9 @@ public function where( * * @param null|scalar $value Valeur de teste. */ - public function notWhere(string $column, string $operator, $value): self + public function notWhere(string $columnName, string $operator, $value): self { - $this->where($column, $operator, $value, self::EXP_AND, true); + $this->where($columnName, $operator, $value, self::EXP_AND, true); return $this; } @@ -118,9 +118,9 @@ public function notWhere(string $column, string $operator, $value): self * * @param null|scalar $value Valeur de teste. */ - public function orWhere(string $column, string $operator, $value): self + public function orWhere(string $columnName, string $operator, $value): self { - $this->where($column, $operator, $value, self::EXP_OR); + $this->where($columnName, $operator, $value, self::EXP_OR); return $this; } @@ -130,9 +130,9 @@ public function orWhere(string $column, string $operator, $value): self * * @param null|scalar $value Valeur de teste. */ - public function orNotWhere(string $column, string $operator, $value): self + public function orNotWhere(string $columnName, string $operator, $value): self { - $this->where($column, $operator, $value, self::EXP_OR, true); + $this->where($columnName, $operator, $value, self::EXP_OR, true); return $this; } @@ -141,14 +141,14 @@ public function orNotWhere(string $column, string $operator, $value): self * Ajoute une condition between à la requête. * Si la valeur du champ est compris entre 2 valeurs. * - * @param string $column Nom de la colonne. - * @param numeric|string $min Valeur minimum ou égale. - * @param numeric|string $max Valeur maximum ou égale. - * @param string $bool Porte logique de la condition (and|or). - * @param bool $not Inverse la condition. + * @param string $columnName Nom de la colonne. + * @param numeric|string $min Valeur minimum ou égale. + * @param numeric|string $max Valeur maximum ou égale. + * @param string $bool Porte logique de la condition (and|or). + * @param bool $not Inverse la condition. */ public function between( - string $column, + string $columnName, $min, $max, string $bool = self::EXP_AND, @@ -158,7 +158,7 @@ public function between( $type = __FUNCTION__; $value = [ 'min' => $min, 'max' => $max ]; - $this->where[] = compact('bool', 'column', 'condition', 'not', 'type', 'value'); + $this->where[] = compact('bool', 'columnName', 'condition', 'not', 'type', 'value'); return $this; } @@ -169,9 +169,9 @@ public function between( * @param numeric|string $min Valeur minimum ou égale. * @param numeric|string $max Valeur maximum ou égale. */ - public function notBetween(string $column, $min, $max): self + public function notBetween(string $columnName, $min, $max): self { - $this->between($column, $min, $max, self::EXP_AND, true); + $this->between($columnName, $min, $max, self::EXP_AND, true); return $this; } @@ -182,9 +182,9 @@ public function notBetween(string $column, $min, $max): self * @param numeric|string $min Valeur minimum ou égale. * @param numeric|string $max Valeur maximum ou égale. */ - public function orBetween(string $column, $min, $max): self + public function orBetween(string $columnName, $min, $max): self { - $this->between($column, $min, $max, self::EXP_OR); + $this->between($columnName, $min, $max, self::EXP_OR); return $this; } @@ -195,9 +195,9 @@ public function orBetween(string $column, $min, $max): self * @param numeric|string $min Valeur minimum ou égale. * @param numeric|string $max Valeur maximum ou égale. */ - public function orNotBetween(string $column, $min, $max): self + public function orNotBetween(string $columnName, $min, $max): self { - $this->between($column, $min, $max, self::EXP_OR, true); + $this->between($columnName, $min, $max, self::EXP_OR, true); return $this; } @@ -206,13 +206,13 @@ public function orNotBetween(string $column, $min, $max): self * Ajoute une condition in à la requête. * Si la valeur du champs est contenu dans une liste. * - * @param string $column Nom de la colonne. - * @param array $value Valeurs à tester. - * @param string $bool Porte logique de la condition (and|or). - * @param bool $not Inverse la condition. + * @param string $columnName Nom de la colonne. + * @param array $value Valeurs à tester. + * @param string $bool Porte logique de la condition (and|or). + * @param bool $not Inverse la condition. */ public function in( - string $column, + string $columnName, array $value, string $bool = self::EXP_AND, bool $not = false @@ -220,7 +220,7 @@ public function in( $condition = 'in'; $type = __FUNCTION__; - $this->where[] = compact('bool', 'column', 'condition', 'not', 'type', 'value'); + $this->where[] = compact('bool', 'columnName', 'condition', 'not', 'type', 'value'); return $this; } @@ -228,9 +228,9 @@ public function in( /** * Alias inverse de la fonction in(). */ - public function notIn(string $column, array $value): self + public function notIn(string $columnName, array $value): self { - $this->in($column, $value, self::EXP_AND, true); + $this->in($columnName, $value, self::EXP_AND, true); return $this; } @@ -238,9 +238,9 @@ public function notIn(string $column, array $value): self /** * Alias avec la porte logique 'OR' de la fonction in(). */ - public function orIn(string $column, array $value): self + public function orIn(string $columnName, array $value): self { - $this->in($column, $value, self::EXP_OR); + $this->in($columnName, $value, self::EXP_OR); return $this; } @@ -248,9 +248,9 @@ public function orIn(string $column, array $value): self /** * Alias inverse avec la porte logique 'OR' de la fonction in(). */ - public function orNotIn(string $column, array $value): self + public function orNotIn(string $columnName, array $value): self { - $this->in($column, $value, self::EXP_OR, true); + $this->in($columnName, $value, self::EXP_OR, true); return $this; } @@ -259,12 +259,12 @@ public function orNotIn(string $column, array $value): self * Ajoute une condition isNull à la requête. * Si la valeur du champ est strictement égale à null. * - * @param string $column Nom de la colonne. - * @param string $bool Porte logique de la condition (and|or). - * @param bool $not Inverse la condition. + * @param string $columnName Nom de la colonne. + * @param string $bool Porte logique de la condition (and|or). + * @param bool $not Inverse la condition. */ public function isNull( - string $column, + string $columnName, string $bool = self::EXP_AND, bool $not = false ): self { @@ -272,7 +272,7 @@ public function isNull( $type = __FUNCTION__; $value = null; - $this->where[] = compact('bool', 'column', 'condition', 'not', 'type', 'value'); + $this->where[] = compact('bool', 'columnName', 'condition', 'not', 'type', 'value'); return $this; } @@ -280,9 +280,9 @@ public function isNull( /** * Alias inverse de la fonction isNull(). */ - public function isNotNull(string $column): self + public function isNotNull(string $columnName): self { - $this->isNull($column, self::EXP_AND, true); + $this->isNull($columnName, self::EXP_AND, true); return $this; } @@ -290,9 +290,9 @@ public function isNotNull(string $column): self /** * Alias avec la porte logique 'OR' de la fonction isNull(). */ - public function orIsNull(string $column): self + public function orIsNull(string $columnName): self { - $this->isNull($column, self::EXP_OR); + $this->isNull($columnName, self::EXP_OR); return $this; } @@ -300,9 +300,9 @@ public function orIsNull(string $column): self /** * Alias inverse avec la porte logique 'OR' de la fonction isNull() */ - public function orIsNotNull(string $column): self + public function orIsNotNull(string $columnName): self { - $this->isNull($column, self::EXP_OR, true); + $this->isNull($columnName, self::EXP_OR, true); return $this; } @@ -310,13 +310,13 @@ public function orIsNotNull(string $column): self /** * Ajoute une condition avec une expression régulière à la requête. * - * @param string $column Nom de la colonne. - * @param string $value Expression régulière. - * @param string $bool Porte logique de la condition (and|or). - * @param bool $not Inverse la condition. + * @param string $columnName Nom de la colonne. + * @param string $value Expression régulière. + * @param string $bool Porte logique de la condition (and|or). + * @param bool $not Inverse la condition. */ public function regex( - string $column, + string $columnName, string $value, string $bool = self::EXP_AND, bool $not = false @@ -324,7 +324,7 @@ public function regex( $condition = 'regex'; $type = __FUNCTION__; - $this->where[] = compact('bool', 'column', 'condition', 'not', 'type', 'value'); + $this->where[] = compact('bool', 'columnName', 'condition', 'not', 'type', 'value'); return $this; } @@ -332,9 +332,9 @@ public function regex( /** * Alias inverse de la fonction regex(). */ - public function notRegex(string $column, string $pattern): self + public function notRegex(string $columnName, string $pattern): self { - $this->regex($column, $pattern, self::EXP_AND, true); + $this->regex($columnName, $pattern, self::EXP_AND, true); return $this; } @@ -342,9 +342,9 @@ public function notRegex(string $column, string $pattern): self /** * Alias avec la porte logique 'OR' de la fonction regex(). */ - public function orRegex(string $column, string $pattern): self + public function orRegex(string $columnName, string $pattern): self { - $this->regex($column, $pattern, self::EXP_OR); + $this->regex($columnName, $pattern, self::EXP_OR); return $this; } @@ -352,9 +352,9 @@ public function orRegex(string $column, string $pattern): self /** * Alias inverse avec la porte logique 'OR' de la fonction regex() */ - public function orNotRegex(string $column, string $pattern): self + public function orNotRegex(string $columnName, string $pattern): self { - $this->regex($column, $pattern, self::EXP_OR, true); + $this->regex($columnName, $pattern, self::EXP_OR, true); return $this; } @@ -371,13 +371,13 @@ public function whereGroup( call_user_func_array($callable, [ &$where ]); $this->where[] = [ - 'type' => __FUNCTION__, - 'column' => '', - 'columns' => $where->getColumns(), - 'condition' => '', - 'value' => $where, - 'bool' => $bool, - 'not' => $not + 'type' => __FUNCTION__, + 'columnName' => '', + 'columnNames' => $where->getColumnNames(), + 'condition' => '', + 'value' => $where, + 'bool' => $bool, + 'not' => $not ]; } @@ -414,7 +414,7 @@ public function orNotWhereGroup(\Closure $callable): self /** * Ajoute une condition like pour la requête. * - * @param string $column + * @param string $columnName * @param string $operator * @param string $pattern * @param string $bool @@ -423,7 +423,7 @@ public function orNotWhereGroup(\Closure $callable): self * @return void */ protected function like( - string $column, + string $columnName, string $operator, string $pattern, string $bool = self::EXP_AND, @@ -443,7 +443,7 @@ protected function like( $type = __FUNCTION__; $condition = 'regex'; - $this->where[] = compact('bool', 'column', 'condition', 'not', 'type', 'value'); + $this->where[] = compact('bool', 'columnName', 'condition', 'not', 'type', 'value'); } /**