From e7b3a5ba6262b99805ebf6c043e56f164713dda0 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 13 Apr 2022 13:17:58 +0200 Subject: [inc/Database] Add type information --- inc/database.inc.php | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) (limited to 'inc/database.inc.php') diff --git a/inc/database.inc.php b/inc/database.inc.php index 654b6e92..8d50a02d 100644 --- a/inc/database.inc.php +++ b/inc/database.inc.php @@ -21,7 +21,7 @@ class Database /** * Connect to the DB if not already connected. */ - public static function init($returnErrors = false) + public static function init(bool $returnErrors = false): bool { if (self::$dbh !== false) return true; @@ -51,7 +51,7 @@ class Database * * @return array|boolean Associative array representing row, or false if no row matches the query */ - public static function queryFirst($query, $args = array(), $ignoreError = null) + public static function queryFirst(string $query, array $args = [], bool $ignoreError = null) { $res = self::simpleQuery($query, $args, $ignoreError); if ($res === false) @@ -66,7 +66,7 @@ class Database * * @return array|bool List of associative arrays representing rows, or false on error */ - public static function queryAll($query, $args = array(), $ignoreError = null) + public static function queryAll(string $query, array $args = [], bool $ignoreError = null) { $res = self::simpleQuery($query, $args, $ignoreError); if ($res === false) @@ -79,7 +79,7 @@ class Database * * @return array|bool List of values representing first column of query */ - public static function queryColumnArray($query, $args = array(), $ignoreError = null) + public static function queryColumnArray(string $query, array $args = [], bool $ignoreError = null) { $res = self::simpleQuery($query, $args, $ignoreError); if ($res === false) @@ -92,7 +92,7 @@ class Database * * @return array|bool Associative array, first column is key, second column is value */ - public static function queryKeyValueList($query, $args = array(), $ignoreError = null) + public static function queryKeyValueList(string $query, array $args = [], bool $ignoreError = null) { $res = self::simpleQuery($query, $args, $ignoreError); if ($res === false) @@ -112,7 +112,7 @@ class Database * * @return array|bool Associative array, first column is key, remaining columns are array values */ - public static function queryGroupList($query, $args = array(), $ignoreError = null) + public static function queryGroupList(string $query, array $args = [], bool $ignoreError = null) { $res = self::simpleQuery($query, $args, $ignoreError); if ($res === false) @@ -127,7 +127,7 @@ class Database * * @return array|bool Associative array, first column is key, remaining columns are array values */ - public static function queryIndexedList($query, $args = array(), $ignoreError = null) + public static function queryIndexedList(string $query, array $args = [], bool $ignoreError = null) { $res = self::simpleQuery($query, $args, $ignoreError); if ($res === false) @@ -141,10 +141,10 @@ class Database * * @param string $query Query to run * @param array $args Arguments to query - * @param boolean $ignoreError Ignore query errors and just return false + * @param ?bool $ignoreError Ignore query errors and just return false * @return int|boolean Number of rows affected, or false on error */ - public static function exec($query, $args = array(), $ignoreError = null) + public static function exec(string $query, array $args = [], bool $ignoreError = null) { $res = self::simpleQuery($query, $args, $ignoreError); if ($res === false) @@ -157,13 +157,13 @@ class Database * * @return int the id */ - public static function lastInsertId() + public static function lastInsertId(): int { return self::$dbh->lastInsertId(); } /** - * @return string|bool return last error returned by query + * @return string|false return last error returned by query */ public static function lastError() { @@ -178,7 +178,7 @@ class Database * * @return \PDOStatement|false The query result object */ - public static function simpleQuery($query, $args = array(), $ignoreError = null) + public static function simpleQuery(string $query, array $args = [], bool $ignoreError = null) { self::init(); if (CONFIG_DEBUG && !isset(self::$explainList[$query]) && preg_match('/^\s*SELECT/is', $query)) { @@ -233,7 +233,7 @@ class Database } } - private static function explainQuery($query, $data) + private static function explainQuery(string $query, array $data) { $args = array_shift($data); $slow = false; @@ -305,8 +305,9 @@ class Database * * @param string $query sql query string * @param array $args query arguments + * @return void */ - private static function handleArrayArgument(&$query, &$args) + private static function handleArrayArgument(string &$query, array &$args) { $again = false; foreach (array_keys($args) as $key) { @@ -347,7 +348,7 @@ class Database * Simply calls PDO::prepare and returns the PDOStatement. * You must call PDOStatement::execute manually on it. */ - public static function prepare($query) + public static function prepare(string $query) { self::init(); self::$queryCount += 1; // Cannot know actual count @@ -375,10 +376,10 @@ class Database * @param string $table table to insert into * @param string $aiKey name of the AUTO_INCREMENT column * @param array $uniqueValues assoc array containing columnName => value mapping - * @param array $additionalValues assoc array containing columnName => value mapping + * @param ?array $additionalValues assoc array containing columnName => value mapping * @return int AUTO_INCREMENT value matching the given unique values entry */ - public static function insertIgnore($table, $aiKey, $uniqueValues, $additionalValues = false): int + public static function insertIgnore(string $table, string $aiKey, array $uniqueValues, array $additionalValues = null): int { // Sanity checks if (array_key_exists($aiKey, $uniqueValues)) { @@ -448,12 +449,12 @@ class Database return $res[$aiKey]; } - public static function getQueryCount() + public static function getQueryCount(): int { return self::$queryCount; } - public static function getQueryTime() + public static function getQueryTime(): int { return self::$queryTime; } -- cgit v1.2.3-55-g7522