From dfba5f1021668ddf3c94957bf471b7a8752efc0e Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Tue, 4 Feb 2020 21:52:59 +0100 Subject: [PATCH] start implementing array{} typehint --- Algorithm/PathFinding/Grid.php | 2 +- Asset/AssetManager.php | 2 +- .../Database/Connection/ConnectionAbstract.php | 7 ++++++- .../Database/Connection/ConnectionFactory.php | 2 +- DataStorage/Database/Connection/MysqlConnection.php | 2 +- .../Database/Connection/PostgresConnection.php | 2 +- DataStorage/Database/Connection/SQLiteConnection.php | 2 +- .../Database/Connection/SqlServerConnection.php | 2 +- DataStorage/Database/GrammarAbstract.php | 2 +- DataStorage/Database/Query/Builder.php | 2 +- DataStorage/Database/Schema/Builder.php | 4 ++-- DataStorage/Session/ConsoleSession.php | 2 +- DataStorage/Session/HttpSession.php | 2 +- Event/EventManager.php | 4 ++-- Localization/L11nManager.php | 2 +- Localization/Localization.php | 12 ++++++------ Log/FileLogger.php | 6 +++--- Math/Geometry/Shape/D2/Polygon.php | 2 +- Message/Console/Request.php | 2 +- Message/Http/Request.php | 4 ++-- Model/Html/Head.php | 2 +- Model/Html/Meta.php | 6 +++--- Module/ModuleManager.php | 8 ++++---- Preloader.php | 4 ++-- Router/SocketRouter.php | 2 +- Router/WebRouter.php | 2 +- Security/PhpCode.php | 4 ++-- Stdlib/Map/MultiMap.php | 4 ++-- Stdlib/Queue/PriorityQueue.php | 2 +- System/File/Storage.php | 6 +++--- Uri/Argument.php | 4 ++-- Utils/Converter/Currency.php | 2 +- Utils/Converter/Numeric.php | 2 +- Utils/Encoding/Huffman/Dictionary.php | 6 +++--- Utils/Git/Commit.php | 2 +- Utils/IO/Zip/Zip.php | 2 +- Utils/RnG/File.php | 2 +- Utils/RnG/Text.php | 4 ++-- Utils/StringCompare.php | 4 ++-- Views/View.php | 2 +- 40 files changed, 70 insertions(+), 65 deletions(-) diff --git a/Algorithm/PathFinding/Grid.php b/Algorithm/PathFinding/Grid.php index 28cbb3023..ac58550ad 100644 --- a/Algorithm/PathFinding/Grid.php +++ b/Algorithm/PathFinding/Grid.php @@ -27,7 +27,7 @@ class Grid /** * Grid system containing all nodes * - * @var array + * @var array> * @since 1.0.0 */ private array $nodes = [[]]; diff --git a/Asset/AssetManager.php b/Asset/AssetManager.php index d929bc200..c092f4d0f 100644 --- a/Asset/AssetManager.php +++ b/Asset/AssetManager.php @@ -27,7 +27,7 @@ final class AssetManager implements \Countable /** * Assets. * - * @var array + * @var array * @since 1.0.0 */ private array $assets = []; diff --git a/DataStorage/Database/Connection/ConnectionAbstract.php b/DataStorage/Database/Connection/ConnectionAbstract.php index ee9407d86..c570981b5 100644 --- a/DataStorage/Database/Connection/ConnectionAbstract.php +++ b/DataStorage/Database/Connection/ConnectionAbstract.php @@ -60,7 +60,7 @@ abstract class ConnectionAbstract implements ConnectionInterface /** * Database data. * - * @var array + * @var array{db:string, host:string, port:int, login:string, password:string, database:string, prefix:string} * @since 1.0.0 */ protected array $dbdata = []; @@ -177,6 +177,11 @@ abstract class ConnectionAbstract implements ConnectionInterface return $this->schemaGrammar; } + /** + * array{db:string, host:string, port:int, login:string, password:string, database:string, prefix:string} $dbdata the basic database information for establishing a connection + */ + abstract public function connect(array $dbdata = null) : void; + /** * Object destructor. * diff --git a/DataStorage/Database/Connection/ConnectionFactory.php b/DataStorage/Database/Connection/ConnectionFactory.php index 7b7b1b532..5ce0b8d5d 100644 --- a/DataStorage/Database/Connection/ConnectionFactory.php +++ b/DataStorage/Database/Connection/ConnectionFactory.php @@ -41,7 +41,7 @@ final class ConnectionFactory * * Overwrites current connection if existing * - * @param string[] $dbdata the basic database information for establishing a connection + * @param array{db:string, host:string, port:int, login:string, password:string, database:string, prefix:string} $dbdata the basic database information for establishing a connection * * @return ConnectionAbstract * diff --git a/DataStorage/Database/Connection/MysqlConnection.php b/DataStorage/Database/Connection/MysqlConnection.php index 63a4226fb..b0e0af6bc 100644 --- a/DataStorage/Database/Connection/MysqlConnection.php +++ b/DataStorage/Database/Connection/MysqlConnection.php @@ -38,7 +38,7 @@ final class MysqlConnection extends ConnectionAbstract * * Creates the database object and overwrites all default values. * - * @param string[] $dbdata the basic database information for establishing a connection + * @param array{db:string, host:string, port:int, login:string, password:string, database:string, prefix:string} $dbdata the basic database information for establishing a connection * * @since 1.0.0 */ diff --git a/DataStorage/Database/Connection/PostgresConnection.php b/DataStorage/Database/Connection/PostgresConnection.php index 4e789b414..9356ba0a7 100644 --- a/DataStorage/Database/Connection/PostgresConnection.php +++ b/DataStorage/Database/Connection/PostgresConnection.php @@ -38,7 +38,7 @@ final class PostgresConnection extends ConnectionAbstract * * Creates the database object and overwrites all default values. * - * @param string[] $dbdata the basic database information for establishing a connection + * @param array{db:string, host:string, port:int, login:string, password:string, database:string, prefix:string} $dbdata the basic database information for establishing a connection * * @since 1.0.0 */ diff --git a/DataStorage/Database/Connection/SQLiteConnection.php b/DataStorage/Database/Connection/SQLiteConnection.php index 23b43c452..09184c5d8 100644 --- a/DataStorage/Database/Connection/SQLiteConnection.php +++ b/DataStorage/Database/Connection/SQLiteConnection.php @@ -38,7 +38,7 @@ final class SQLiteConnection extends ConnectionAbstract * * Creates the database object and overwrites all default values. * - * @param string[] $dbdata the basic database information for establishing a connection + * @param array{db:string, host:string, port:int, login:string, password:string, database:string, prefix:string} $dbdata the basic database information for establishing a connection * * @since 1.0.0 */ diff --git a/DataStorage/Database/Connection/SqlServerConnection.php b/DataStorage/Database/Connection/SqlServerConnection.php index 924a21563..ab4a6b2a9 100644 --- a/DataStorage/Database/Connection/SqlServerConnection.php +++ b/DataStorage/Database/Connection/SqlServerConnection.php @@ -38,7 +38,7 @@ final class SqlServerConnection extends ConnectionAbstract * * Creates the database object and overwrites all default values. * - * @param string[] $dbdata the basic database information for establishing a connection + * @param array{db:string, host:string, port:int, login:string, password:string, database:string, prefix:string} $dbdata the basic database information for establishing a connection * * @since 1.0.0 */ diff --git a/DataStorage/Database/GrammarAbstract.php b/DataStorage/Database/GrammarAbstract.php index cb86fd33a..5feab3112 100644 --- a/DataStorage/Database/GrammarAbstract.php +++ b/DataStorage/Database/GrammarAbstract.php @@ -77,7 +77,7 @@ abstract class GrammarAbstract /** * Special keywords. * - * @var array + * @var string[] * @since 1.0.0 */ protected array $specialKeywords = [ diff --git a/DataStorage/Database/Query/Builder.php b/DataStorage/Database/Query/Builder.php index 24bc5a8e5..9d5dce806 100644 --- a/DataStorage/Database/Query/Builder.php +++ b/DataStorage/Database/Query/Builder.php @@ -152,7 +152,7 @@ class Builder extends BuilderAbstract /** * Group. * - * @var array + * @var string[] * @since 1.0.0 */ public array $groups = []; diff --git a/DataStorage/Database/Schema/Builder.php b/DataStorage/Database/Schema/Builder.php index 0faa7ad0e..238302b34 100644 --- a/DataStorage/Database/Schema/Builder.php +++ b/DataStorage/Database/Schema/Builder.php @@ -42,7 +42,7 @@ class Builder extends QueryBuilder /** * Fields. * - * @var array + * @var array * @since 1.0.0 */ public array $createFields = []; @@ -66,7 +66,7 @@ class Builder extends QueryBuilder /** * Tables. * - * @var array + * @var string[] * @since 1.0.0 */ public array $selectTables = ['*']; diff --git a/DataStorage/Session/ConsoleSession.php b/DataStorage/Session/ConsoleSession.php index 41e1665a0..96f497e78 100644 --- a/DataStorage/Session/ConsoleSession.php +++ b/DataStorage/Session/ConsoleSession.php @@ -39,7 +39,7 @@ class ConsoleSession implements SessionInterface /** * Raw session data. * - * @var array + * @var array * @since 1.0.0 */ private array $sessionData = []; diff --git a/DataStorage/Session/HttpSession.php b/DataStorage/Session/HttpSession.php index 61261600f..cb53de120 100644 --- a/DataStorage/Session/HttpSession.php +++ b/DataStorage/Session/HttpSession.php @@ -40,7 +40,7 @@ final class HttpSession implements SessionInterface /** * Raw session data. * - * @var array + * @var array * @since 1.0.0 */ private array $sessionData = []; diff --git a/Event/EventManager.php b/Event/EventManager.php index eda3645be..b094021c0 100644 --- a/Event/EventManager.php +++ b/Event/EventManager.php @@ -36,7 +36,7 @@ final class EventManager implements \Countable /** * Events. * - * @var array + * @var array> * @since 1.0.0 */ private array $groups = []; @@ -44,7 +44,7 @@ final class EventManager implements \Countable /** * Callbacks. * - * @var array + * @var array * @since 1.0.0 */ private array $callbacks = []; diff --git a/Localization/L11nManager.php b/Localization/L11nManager.php index 8ea8efcc6..a2a874155 100644 --- a/Localization/L11nManager.php +++ b/Localization/L11nManager.php @@ -30,7 +30,7 @@ final class L11nManager /** * Language. * - * @var array + * @var array * @since 1.0.0 */ private array $language = []; diff --git a/Localization/Localization.php b/Localization/Localization.php index 6e17f88cb..6fb473631 100644 --- a/Localization/Localization.php +++ b/Localization/Localization.php @@ -95,7 +95,7 @@ class Localization /** * Time format. * - * @var array + * @var array * @since 1.0.0 */ private array $datetime = []; @@ -103,7 +103,7 @@ class Localization /** * Weight. * - * @var array + * @var array * @since 1.0.0 */ private array $weight = []; @@ -111,7 +111,7 @@ class Localization /** * Speed. * - * @var array + * @var array * @since 1.0.0 */ private array $speed = []; @@ -119,7 +119,7 @@ class Localization /** * Length. * - * @var array + * @var array * @since 1.0.0 */ private array $length = []; @@ -127,7 +127,7 @@ class Localization /** * Area. * - * @var array + * @var array * @since 1.0.0 */ private array $area = []; @@ -135,7 +135,7 @@ class Localization /** * Volume. * - * @var array + * @var array * @since 1.0.0 */ private array $volume = []; diff --git a/Log/FileLogger.php b/Log/FileLogger.php index 9a71dd9aa..e97a41126 100644 --- a/Log/FileLogger.php +++ b/Log/FileLogger.php @@ -39,7 +39,7 @@ final class FileLogger implements LoggerInterface * Potential values are null or an array filled with log timings. * This is used in order to profile code sections by ID. * - * @var array + * @var array * @since 1.0.0 */ private static array $timings = []; @@ -180,7 +180,7 @@ final class FileLogger implements LoggerInterface * * @since 1.0.0 */ - public static function startTimeLog($id = '') : bool + public static function startTimeLog(string $id = '') : bool { if (isset(self::$timings[$id])) { return false; @@ -203,7 +203,7 @@ final class FileLogger implements LoggerInterface * * @since 1.0.0 */ - public static function endTimeLog($id = '') : float + public static function endTimeLog(string $id = '') : float { $temp = \explode(' ', \microtime()); $mtime = ((float) $temp[1]) + ((float) $temp[0]); diff --git a/Math/Geometry/Shape/D2/Polygon.php b/Math/Geometry/Shape/D2/Polygon.php index 10e41ee9e..69fe016e8 100644 --- a/Math/Geometry/Shape/D2/Polygon.php +++ b/Math/Geometry/Shape/D2/Polygon.php @@ -37,7 +37,7 @@ final class Polygon implements D2ShapeInterface * * These coordinates define the polygon * - * @var array[] + * @var array * @since 1.0.0 */ private array $coord = []; diff --git a/Message/Console/Request.php b/Message/Console/Request.php index 2cef0a42f..c5bad0c96 100644 --- a/Message/Console/Request.php +++ b/Message/Console/Request.php @@ -52,7 +52,7 @@ final class Request extends RequestAbstract /** * Request hash. * - * @var array + * @var string[] * @since 1.0.0 */ protected array $hash = []; diff --git a/Message/Http/Request.php b/Message/Http/Request.php index 0cfc80691..e9b089c14 100644 --- a/Message/Http/Request.php +++ b/Message/Http/Request.php @@ -60,7 +60,7 @@ final class Request extends RequestAbstract /** * Request information. * - * @var string[] + * @var array{browser:string, os:string} * @since 1.0.0 */ private array $info; @@ -68,7 +68,7 @@ final class Request extends RequestAbstract /** * Request hash. * - * @var array + * @var string[] * @since 1.0.0 */ protected array $hash = []; diff --git a/Model/Html/Head.php b/Model/Html/Head.php index b21aeceda..2575800d2 100644 --- a/Model/Html/Head.php +++ b/Model/Html/Head.php @@ -49,7 +49,7 @@ final class Head implements RenderableInterface /** * Assets bound to this page instance. * - * @var array + * @var array> * @since 1.0.0 */ private array $assets = []; diff --git a/Model/Html/Meta.php b/Model/Html/Meta.php index e5c431a2b..d98d492fd 100644 --- a/Model/Html/Meta.php +++ b/Model/Html/Meta.php @@ -62,7 +62,7 @@ final class Meta implements RenderableInterface /** * Itemprop. * - * @var array + * @var array * @since 1.0.0 */ private array $itemprops = []; @@ -70,7 +70,7 @@ final class Meta implements RenderableInterface /** * Property. * - * @var array + * @var array * @since 1.0.0 */ private array $properties = []; @@ -78,7 +78,7 @@ final class Meta implements RenderableInterface /** * Name. * - * @var array + * @var array * @since 1.0.0 */ private array $names = []; diff --git a/Module/ModuleManager.php b/Module/ModuleManager.php index aad80f2e1..abff38ddc 100644 --- a/Module/ModuleManager.php +++ b/Module/ModuleManager.php @@ -66,7 +66,7 @@ final class ModuleManager /** * Installed modules. * - * @var array + * @var array * @since 1.0.0 */ private array $installed = []; @@ -74,7 +74,7 @@ final class ModuleManager /** * All active modules (on all pages not just the ones that are running now). * - * @var array + * @var array * @since 1.0.0 */ private array $active = []; @@ -90,7 +90,7 @@ final class ModuleManager /** * All modules in the module directory. * - * @var array + * @var array * @since 1.0.0 */ private array $all = []; @@ -98,7 +98,7 @@ final class ModuleManager /** * To load based on request uri. * - * @var array + * @var array * @since 1.0.0 */ private array $uriLoad = []; diff --git a/Preloader.php b/Preloader.php index dd897def8..61602bb8a 100644 --- a/Preloader.php +++ b/Preloader.php @@ -27,7 +27,7 @@ final class Preloader /** * Files and paths * - * @var array + * @var string[] * @since 1.0.0 */ private array $includes = []; @@ -35,7 +35,7 @@ final class Preloader /** * Ignored files and paths * - * @var array + * @var string[] * @since 1.0.0 */ private array $ignores = []; diff --git a/Router/SocketRouter.php b/Router/SocketRouter.php index 4fdaf22c1..a27fb2aa9 100644 --- a/Router/SocketRouter.php +++ b/Router/SocketRouter.php @@ -27,7 +27,7 @@ final class SocketRouter implements RouterInterface /** * Routes. * - * @var array + * @var array * @since 1.0.0 */ private array $routes = []; diff --git a/Router/WebRouter.php b/Router/WebRouter.php index b747d5101..b9569217a 100644 --- a/Router/WebRouter.php +++ b/Router/WebRouter.php @@ -47,7 +47,7 @@ final class WebRouter implements RouterInterface /** * Routes. * - * @var array + * @var array * @since 1.0.0 */ private array $routes = []; diff --git a/Security/PhpCode.php b/Security/PhpCode.php index ea1d0a719..aac53197a 100644 --- a/Security/PhpCode.php +++ b/Security/PhpCode.php @@ -30,7 +30,7 @@ final class PhpCode /** * Disabled functions * - * @var array + * @var string[] * @since 1.0.0 */ public static array $disabledFunctions = [ @@ -45,7 +45,7 @@ final class PhpCode /** * Deprecated functions * - * @var array + * @var string[] * @since 1.0.0 */ public static array $deprecatedFunctions = [ diff --git a/Stdlib/Map/MultiMap.php b/Stdlib/Map/MultiMap.php index 54a5946de..9d9784a8a 100644 --- a/Stdlib/Map/MultiMap.php +++ b/Stdlib/Map/MultiMap.php @@ -29,7 +29,7 @@ final class MultiMap implements \Countable /** * Stored values. * - * @var array + * @var array * @since 1.0.0 */ private array $values = []; @@ -37,7 +37,7 @@ final class MultiMap implements \Countable /** * Associated keys for values. * - * @var array + * @var array * @since 1.0.0 */ private array $keys = []; diff --git a/Stdlib/Queue/PriorityQueue.php b/Stdlib/Queue/PriorityQueue.php index d443f453f..6311fa54f 100644 --- a/Stdlib/Queue/PriorityQueue.php +++ b/Stdlib/Queue/PriorityQueue.php @@ -37,7 +37,7 @@ class PriorityQueue implements \Countable, \Serializable /** * Queue. * - * @var array + * @var array * @since 1.0.0 */ private array $queue = []; diff --git a/System/File/Storage.php b/System/File/Storage.php index 9648a044d..9be64609b 100644 --- a/System/File/Storage.php +++ b/System/File/Storage.php @@ -29,7 +29,7 @@ final class Storage /** * Registered storage. * - * @var array + * @var array * @since 1.0.0 */ private static array $registered = []; @@ -87,8 +87,8 @@ final class Storage /** * Register storage environment. * - * @param string $name Name of the environment - * @param mixed|StorageAbstract|string $class Class to register. This can be either a namespace path, a anonymous class or storage implementation. + * @param string $name Name of the environment + * @param StorageAbstract|string $class Class to register. This can be either a namespace path, a anonymous class or storage implementation. * * @return bool * diff --git a/Uri/Argument.php b/Uri/Argument.php index e567640fe..d3a985a5a 100644 --- a/Uri/Argument.php +++ b/Uri/Argument.php @@ -49,7 +49,7 @@ final class Argument implements UriInterface /** * Path elements. * - * @var array + * @var string[] * @since 1.0.0 */ private array $pathElements = []; @@ -113,7 +113,7 @@ final class Argument implements UriInterface /** * Uri query. * - * @var array + * @var array * @since 1.0.0 */ private array $query = []; diff --git a/Utils/Converter/Currency.php b/Utils/Converter/Currency.php index 53183bc13..d6aee2976 100644 --- a/Utils/Converter/Currency.php +++ b/Utils/Converter/Currency.php @@ -33,7 +33,7 @@ final class Currency /** * ECB currency rates. * - * @var array + * @var array * @since 1.0.0 */ private static array $ecbCurrencies = []; diff --git a/Utils/Converter/Numeric.php b/Utils/Converter/Numeric.php index edaf77b65..2843435af 100644 --- a/Utils/Converter/Numeric.php +++ b/Utils/Converter/Numeric.php @@ -27,7 +27,7 @@ final class Numeric /** * Romans association. * - * @var array + * @var array * @since 1.0.0 */ public const ROMANS = [ diff --git a/Utils/Encoding/Huffman/Dictionary.php b/Utils/Encoding/Huffman/Dictionary.php index efc5a8855..75e3e96a6 100644 --- a/Utils/Encoding/Huffman/Dictionary.php +++ b/Utils/Encoding/Huffman/Dictionary.php @@ -27,7 +27,7 @@ final class Dictionary /** * Huffman dictionary. * - * @var array + * @var array * @since 1.0.0 */ private array $dictionary = []; @@ -98,8 +98,8 @@ final class Dictionary /** * Fill dictionary. * - * @param array $entry Source data to generate dictionary from - * @param string $value Dictionary value + * @param array> $entry Source data to generate dictionary from + * @param string $value Dictionary value * * @return void * diff --git a/Utils/Git/Commit.php b/Utils/Git/Commit.php index ea2ee8959..80826d234 100644 --- a/Utils/Git/Commit.php +++ b/Utils/Git/Commit.php @@ -83,7 +83,7 @@ class Commit /** * Files. * - * @var array + * @var array * @since 1.0.0 */ private array $files = []; diff --git a/Utils/IO/Zip/Zip.php b/Utils/IO/Zip/Zip.php index 586ea205a..0f7aee4e5 100644 --- a/Utils/IO/Zip/Zip.php +++ b/Utils/IO/Zip/Zip.php @@ -44,7 +44,7 @@ class Zip implements ArchiveInterface return false; } - /** @var array $sources */ + /** @var array $sources */ foreach ($sources as $source => $relative) { if (\is_numeric($source) && \realpath($relative) !== false) { $source = $relative; diff --git a/Utils/RnG/File.php b/Utils/RnG/File.php index 9a7677dfa..3dba96c40 100644 --- a/Utils/RnG/File.php +++ b/Utils/RnG/File.php @@ -27,7 +27,7 @@ class File /** * Extensions. * - * @var array[] + * @var array * @since 1.0.0 */ private static $extensions = [ diff --git a/Utils/RnG/Text.php b/Utils/RnG/Text.php index 0b6ecf8ef..6c001f4f5 100644 --- a/Utils/RnG/Text.php +++ b/Utils/RnG/Text.php @@ -130,8 +130,8 @@ class Text /** * Get a random string. * - * @param int $length Text length - * @param array $words Vocabulary + * @param int $length Text length + * @param string[] $words Vocabulary * * @return string * diff --git a/Utils/StringCompare.php b/Utils/StringCompare.php index 8053eca92..5589bac95 100644 --- a/Utils/StringCompare.php +++ b/Utils/StringCompare.php @@ -29,7 +29,7 @@ final class StringCompare /** * Dictionary. * - * @var array + * @var string[] * @since 1.0.0 */ private array $dictionary = []; @@ -37,7 +37,7 @@ final class StringCompare /** * Constructor. * - * @param array $dictionary Dictionary + * @param string[] $dictionary Dictionary * * @since 1.0.0 */ diff --git a/Views/View.php b/Views/View.php index e504d195a..83f7cfeda 100644 --- a/Views/View.php +++ b/Views/View.php @@ -34,7 +34,7 @@ class View extends ViewAbstract /** * View data. * - * @var array + * @var array * @since 1.0.0 */ protected array $data = [];