From 54a83bade9cd24f8a644f6112b1fb16a31490c37 Mon Sep 17 00:00:00 2001 From: ping-yee <611077101@mail.nknu.edu.tw> Date: Sun, 28 Jan 2024 13:56:11 +0800 Subject: [PATCH 001/139] test: remove date() dependency. --- tests/system/Log/LoggerTest.php | 35 +++++++++++++++++---------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/tests/system/Log/LoggerTest.php b/tests/system/Log/LoggerTest.php index 317ad9c14bf4..43dbc0e71e67 100644 --- a/tests/system/Log/LoggerTest.php +++ b/tests/system/Log/LoggerTest.php @@ -12,6 +12,7 @@ namespace CodeIgniter\Log; use CodeIgniter\Exceptions\FrameworkException; +use CodeIgniter\I18n\Time; use CodeIgniter\Log\Exceptions\LogException; use CodeIgniter\Test\CIUnitTestCase; use CodeIgniter\Test\Mock\MockLogger as LoggerConfig; @@ -63,7 +64,7 @@ public function testLogActuallyLogs(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message'; + $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message'; $logger->log('debug', 'Test message'); $logs = TestHandler::getLogs(); @@ -93,7 +94,7 @@ public function testLogInterpolatesMessage(): void $logger = new Logger($config); - $expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message bar baz'; + $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message bar baz'; $logger->log('debug', 'Test message {foo} {bar}', ['foo' => 'bar', 'bar' => 'baz']); @@ -110,7 +111,7 @@ public function testLogInterpolatesPost(): void $logger = new Logger($config); $_POST = ['foo' => 'bar']; - $expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message $_POST: ' . print_r($_POST, true); + $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message $_POST: ' . print_r($_POST, true); $logger->log('debug', 'Test message {post_vars}'); @@ -127,7 +128,7 @@ public function testLogInterpolatesGet(): void $logger = new Logger($config); $_GET = ['bar' => 'baz']; - $expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message $_GET: ' . print_r($_GET, true); + $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message $_GET: ' . print_r($_GET, true); $logger->log('debug', 'Test message {get_vars}'); @@ -144,7 +145,7 @@ public function testLogInterpolatesSession(): void $logger = new Logger($config); $_SESSION = ['xxx' => 'yyy']; - $expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message $_SESSION: ' . print_r($_SESSION, true); + $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message $_SESSION: ' . print_r($_SESSION, true); $logger->log('debug', 'Test message {session_vars}'); @@ -160,7 +161,7 @@ public function testLogInterpolatesCurrentEnvironment(): void $logger = new Logger($config); - $expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message ' . ENVIRONMENT; + $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message ' . ENVIRONMENT; $logger->log('debug', 'Test message {env}'); @@ -178,7 +179,7 @@ public function testLogInterpolatesEnvironmentVars(): void $_ENV['foo'] = 'bar'; - $expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message bar'; + $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message bar'; $logger->log('debug', 'Test message {env:foo}'); @@ -210,7 +211,7 @@ public function testLogInterpolatesExceptions(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'ERROR - ' . date('Y-m-d') . ' --> [ERROR] These are not the droids you are looking for'; + $expected = 'ERROR - ' . Time::now()->toDateString() . ' --> [ERROR] These are not the droids you are looking for'; try { throw new Exception('These are not the droids you are looking for'); @@ -229,7 +230,7 @@ public function testEmergencyLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'EMERGENCY - ' . date('Y-m-d') . ' --> Test message'; + $expected = 'EMERGENCY - ' . Time::now()->toDateString() . ' --> Test message'; $logger->emergency('Test message'); @@ -244,7 +245,7 @@ public function testAlertLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'ALERT - ' . date('Y-m-d') . ' --> Test message'; + $expected = 'ALERT - ' . Time::now()->toDateString() . ' --> Test message'; $logger->alert('Test message'); @@ -259,7 +260,7 @@ public function testCriticalLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'CRITICAL - ' . date('Y-m-d') . ' --> Test message'; + $expected = 'CRITICAL - ' . Time::now()->toDateString() . ' --> Test message'; $logger->critical('Test message'); @@ -274,7 +275,7 @@ public function testErrorLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'ERROR - ' . date('Y-m-d') . ' --> Test message'; + $expected = 'ERROR - ' . Time::now()->toDateString() . ' --> Test message'; $logger->error('Test message'); @@ -289,7 +290,7 @@ public function testWarningLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'WARNING - ' . date('Y-m-d') . ' --> Test message'; + $expected = 'WARNING - ' . Time::now()->toDateString() . ' --> Test message'; $logger->warning('Test message'); @@ -304,7 +305,7 @@ public function testNoticeLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'NOTICE - ' . date('Y-m-d') . ' --> Test message'; + $expected = 'NOTICE - ' . Time::now()->toDateString() . ' --> Test message'; $logger->notice('Test message'); @@ -319,7 +320,7 @@ public function testInfoLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'INFO - ' . date('Y-m-d') . ' --> Test message'; + $expected = 'INFO - ' . Time::now()->toDateString() . ' --> Test message'; $logger->info('Test message'); @@ -334,7 +335,7 @@ public function testDebugLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message'; + $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message'; $logger->debug('Test message'); @@ -349,7 +350,7 @@ public function testLogLevels(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'WARNING - ' . date('Y-m-d') . ' --> Test message'; + $expected = 'WARNING - ' . Time::now()->toDateString() . ' --> Test message'; $logger->log(5, 'Test message'); From 37f7c5f4f1deb7b4059748a2b7efbefe9a6c4ccd Mon Sep 17 00:00:00 2001 From: kenjis Date: Tue, 20 Feb 2024 10:16:09 +0900 Subject: [PATCH 002/139] docs: add "What are Configuration Classes?" --- .../source/general/configuration.rst | 18 ++++++++++++++++++ .../source/libraries/official_packages.rst | 2 ++ 2 files changed, 20 insertions(+) diff --git a/user_guide_src/source/general/configuration.rst b/user_guide_src/source/general/configuration.rst index f7d6c2d78d34..3209510dc7ef 100644 --- a/user_guide_src/source/general/configuration.rst +++ b/user_guide_src/source/general/configuration.rst @@ -15,6 +15,24 @@ the application configuration files in the **app/Config** folder. :local: :depth: 2 + +What are Configuration Classes? +******************************* + +Configuration classes are utilized to define system default configuration values. +System configuration values are typically *static*. Configuration classes are +intended to retain the settings that configure how the application operates, +rather than responding to each user's individual settings. + +It is not recommended to alter values set during the instantiation of a +configuration class later during execution. In other words, it is recommended to +treat configuration classes as immutable or readonly classes. This is especially +important if you utilize :ref:`factories-config-caching`. + +Configuration values can be retrieved from environment variables, hard-coded +within the class files, or stored in a database using the :ref:`Settings ` +library. + Working with Configuration Files ******************************** diff --git a/user_guide_src/source/libraries/official_packages.rst b/user_guide_src/source/libraries/official_packages.rst index 6da2f41fd2b7..ccadc81599bc 100644 --- a/user_guide_src/source/libraries/official_packages.rst +++ b/user_guide_src/source/libraries/official_packages.rst @@ -29,6 +29,8 @@ Among the many features, it includes: * Per-user permission overrides, * and more... +.. _settings: + ******** Settings ******** From 5c8bc0339556782cbbf2eb5d339a6fa9f6ebafe7 Mon Sep 17 00:00:00 2001 From: kenjis Date: Tue, 20 Feb 2024 21:27:11 +0900 Subject: [PATCH 003/139] docs: remove misleading description --- user_guide_src/source/general/configuration.rst | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/user_guide_src/source/general/configuration.rst b/user_guide_src/source/general/configuration.rst index 3209510dc7ef..13b412ff3e1e 100644 --- a/user_guide_src/source/general/configuration.rst +++ b/user_guide_src/source/general/configuration.rst @@ -29,9 +29,8 @@ configuration class later during execution. In other words, it is recommended to treat configuration classes as immutable or readonly classes. This is especially important if you utilize :ref:`factories-config-caching`. -Configuration values can be retrieved from environment variables, hard-coded -within the class files, or stored in a database using the :ref:`Settings ` -library. +Configuration values can be hard-coded in the class files or obtained from +environment variables at instantiation. Working with Configuration Files ******************************** From 631879eb4cdde407873069276ac596d082d632bc Mon Sep 17 00:00:00 2001 From: kenjis Date: Sat, 24 Feb 2024 12:00:03 +0900 Subject: [PATCH 004/139] docs: add changelog and upgrade for v4.4.7 --- user_guide_src/source/changelogs/index.rst | 1 + user_guide_src/source/changelogs/v4.4.7.rst | 35 ++++++++++++ .../source/installation/upgrade_447.rst | 54 +++++++++++++++++++ .../source/installation/upgrading.rst | 1 + 4 files changed, 91 insertions(+) create mode 100644 user_guide_src/source/changelogs/v4.4.7.rst create mode 100644 user_guide_src/source/installation/upgrade_447.rst diff --git a/user_guide_src/source/changelogs/index.rst b/user_guide_src/source/changelogs/index.rst index 2409b869c420..6d5e51f49210 100644 --- a/user_guide_src/source/changelogs/index.rst +++ b/user_guide_src/source/changelogs/index.rst @@ -12,6 +12,7 @@ See all the changes. .. toctree:: :titlesonly: + v4.4.7 v4.4.6 v4.4.5 v4.4.4 diff --git a/user_guide_src/source/changelogs/v4.4.7.rst b/user_guide_src/source/changelogs/v4.4.7.rst new file mode 100644 index 000000000000..c7c4bd3fa382 --- /dev/null +++ b/user_guide_src/source/changelogs/v4.4.7.rst @@ -0,0 +1,35 @@ +############# +Version 4.4.7 +############# + +Release Date: Unreleased + +**4.4.7 release of CodeIgniter4** + +.. contents:: + :local: + :depth: 3 + +******** +BREAKING +******** + +*************** +Message Changes +*************** + +******* +Changes +******* + +************ +Deprecations +************ + +********** +Bugs Fixed +********** + +See the repo's +`CHANGELOG.md `_ +for a complete list of bugs fixed. diff --git a/user_guide_src/source/installation/upgrade_447.rst b/user_guide_src/source/installation/upgrade_447.rst new file mode 100644 index 000000000000..07f85330b4ed --- /dev/null +++ b/user_guide_src/source/installation/upgrade_447.rst @@ -0,0 +1,54 @@ +############################# +Upgrading from 4.4.6 to 4.4.7 +############################# + +Please refer to the upgrade instructions corresponding to your installation method. + +- :ref:`Composer Installation App Starter Upgrading ` +- :ref:`Composer Installation Adding CodeIgniter4 to an Existing Project Upgrading ` +- :ref:`Manual Installation Upgrading ` + +.. contents:: + :local: + :depth: 2 + +********************** +Mandatory File Changes +********************** + +**************** +Breaking Changes +**************** + +********************* +Breaking Enhancements +********************* + +************* +Project Files +************* + +Some files in the **project space** (root, app, public, writable) received updates. Due to +these files being outside of the **system** scope they will not be changed without your intervention. + +There are some third-party CodeIgniter modules available to assist with merging changes to +the project space: `Explore on Packagist `_. + +Content Changes +=============== + +The following files received significant changes (including deprecations or visual adjustments) +and it is recommended that you merge the updated versions with your application: + +Config +------ + +- @TODO + +All Changes +=========== + +This is a list of all files in the **project space** that received changes; +many will be simple comments or formatting that have no effect on the runtime: + +- @TODO diff --git a/user_guide_src/source/installation/upgrading.rst b/user_guide_src/source/installation/upgrading.rst index 2c23fdd025fa..3b29315d4eab 100644 --- a/user_guide_src/source/installation/upgrading.rst +++ b/user_guide_src/source/installation/upgrading.rst @@ -16,6 +16,7 @@ See also :doc:`./backward_compatibility_notes`. backward_compatibility_notes + upgrade_447 upgrade_446 upgrade_445 upgrade_444 From 1201e28ea21a2483b74c685a509276995e3a728a Mon Sep 17 00:00:00 2001 From: kenjis Date: Sat, 24 Feb 2024 12:46:03 +0900 Subject: [PATCH 005/139] chore: remove unnecessary command It was added by mistake. --- admin/prepare-release.php | 1 - 1 file changed, 1 deletion(-) diff --git a/admin/prepare-release.php b/admin/prepare-release.php index aebc1ea98c06..374e37b313eb 100644 --- a/admin/prepare-release.php +++ b/admin/prepare-release.php @@ -27,7 +27,6 @@ function replace_file_content(string $path, string $pattern, string $replace): v // Creates a branch for release. system('git switch develop'); system('git switch -c release-' . $version); -system('git switch docs-changelog-' . $version); // Updates version number in "CodeIgniter.php". replace_file_content( From 609be527ceaec75b7b669bb8c917e51acd8b4eaa Mon Sep 17 00:00:00 2001 From: "John Paul E. Balandan, CPA" Date: Sun, 25 Feb 2024 22:58:47 +0800 Subject: [PATCH 006/139] style: enable `phpdoc_array_type` (#8580) --- .php-cs-fixer.dist.php | 1 + .php-cs-fixer.no-header.php | 4 ++- .php-cs-fixer.user-guide.php | 1 + app/Config/Cache.php | 2 +- app/Config/ContentSecurityPolicy.php | 30 +++++++++---------- app/Config/Format.php | 2 +- app/Config/Toolbar.php | 2 +- app/Config/Validation.php | 2 +- app/Config/View.php | 2 +- system/API/ResponseTrait.php | 2 +- system/Autoloader/FileLocator.php | 4 +-- system/BaseModel.php | 4 +-- system/Cache/ResponseCache.php | 2 +- system/CodeIgniter.php | 2 +- system/Commands/Database/MigrateStatus.php | 2 +- .../AutoRouterImproved/AutoRouteCollector.php | 2 +- .../Utilities/Routes/ControllerFinder.php | 2 +- system/Common.php | 4 +-- system/Config/View.php | 2 +- system/Cookie/CookieStore.php | 6 ++-- system/Cookie/Exceptions/CookieException.php | 2 +- system/Database/BaseBuilder.php | 22 +++++++------- system/Database/BaseConnection.php | 12 ++++---- system/Database/BaseResult.php | 4 +-- system/Database/Forge.php | 8 ++--- system/Database/MySQLi/Connection.php | 10 +++---- system/Database/OCI8/Connection.php | 6 ++-- system/Database/Postgre/Connection.php | 6 ++-- system/Database/SQLSRV/Connection.php | 8 ++--- system/Database/SQLite3/Connection.php | 6 ++-- system/Debug/Toolbar.php | 2 +- system/Email/Email.php | 2 +- system/Events/Events.php | 4 +-- system/Files/FileCollection.php | 26 ++++++++-------- system/HTTP/Files/FileCollection.php | 2 +- system/HTTP/ResponseInterface.php | 4 +-- system/HTTP/ResponseTrait.php | 4 +-- system/Helpers/form_helper.php | 8 ++--- system/Language/Language.php | 4 +-- system/Log/Handlers/ErrorlogHandler.php | 2 +- system/Model.php | 4 +-- system/Publisher/Publisher.php | 12 ++++---- system/Router/AutoRouterImproved.php | 6 ++-- system/Router/RouteCollection.php | 2 +- system/Router/Router.php | 4 +-- system/Test/FilterTestTrait.php | 2 +- system/Test/Mock/MockCache.php | 4 +-- system/Test/Mock/MockSession.php | 2 +- system/Validation/Validation.php | 4 +-- system/Validation/ValidationInterface.php | 4 +-- tests/system/Helpers/FilesystemHelperTest.php | 2 +- tests/system/Validation/ValidationTest.php | 4 +-- ...rictParameterToFunctionParameterRector.php | 2 +- ...moveErrorSuppressInTryCatchStmtsRector.php | 2 +- ...nderscoreToCamelCaseVariableNameRector.php | 2 +- 55 files changed, 140 insertions(+), 136 deletions(-) diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php index 6a86ebe205e5..3352a832686e 100644 --- a/.php-cs-fixer.dist.php +++ b/.php-cs-fixer.dist.php @@ -44,6 +44,7 @@ ]); $overrides = [ + 'phpdoc_array_type' => true, 'phpdoc_no_alias_tag' => [ 'replacements' => [ 'type' => 'var', diff --git a/.php-cs-fixer.no-header.php b/.php-cs-fixer.no-header.php index 7c9ae1e80737..15957b5e5d00 100644 --- a/.php-cs-fixer.no-header.php +++ b/.php-cs-fixer.no-header.php @@ -29,7 +29,9 @@ __DIR__ . '/admin/starter/builds', ]); -$overrides = []; +$overrides = [ + 'phpdoc_array_type' => true, +]; $options = [ 'cacheFile' => 'build/.php-cs-fixer.no-header.cache', diff --git a/.php-cs-fixer.user-guide.php b/.php-cs-fixer.user-guide.php index fe634f0a6f21..c61866e98c91 100644 --- a/.php-cs-fixer.user-guide.php +++ b/.php-cs-fixer.user-guide.php @@ -39,6 +39,7 @@ 'import_symbols' => false, 'leading_backslash_in_global_namespace' => true, ], + 'phpdoc_array_type' => true, ]; $options = [ diff --git a/app/Config/Cache.php b/app/Config/Cache.php index b5b2cdc1738f..8cae5b7732c1 100644 --- a/app/Config/Cache.php +++ b/app/Config/Cache.php @@ -61,7 +61,7 @@ class Cache extends BaseConfig * ['q'] = Enabled, but only take into account the specified list * of query parameters. * - * @var bool|string[] + * @var array|bool */ public $cacheQueryString = false; diff --git a/app/Config/ContentSecurityPolicy.php b/app/Config/ContentSecurityPolicy.php index 7799c476f078..580c5c8b9f7e 100644 --- a/app/Config/ContentSecurityPolicy.php +++ b/app/Config/ContentSecurityPolicy.php @@ -45,28 +45,28 @@ class ContentSecurityPolicy extends BaseConfig /** * Will default to self if not overridden * - * @var string|string[]|null + * @var array|string|null */ public $defaultSrc; /** * Lists allowed scripts' URLs. * - * @var string|string[] + * @var array|string */ public $scriptSrc = 'self'; /** * Lists allowed stylesheets' URLs. * - * @var string|string[] + * @var array|string */ public $styleSrc = 'self'; /** * Defines the origins from which images can be loaded. * - * @var string|string[] + * @var array|string */ public $imageSrc = 'self'; @@ -75,14 +75,14 @@ class ContentSecurityPolicy extends BaseConfig * * Will default to self if not overridden * - * @var string|string[]|null + * @var array|string|null */ public $baseURI; /** * Lists the URLs for workers and embedded frame contents * - * @var string|string[] + * @var array|string */ public $childSrc = 'self'; @@ -90,21 +90,21 @@ class ContentSecurityPolicy extends BaseConfig * Limits the origins that you can connect to (via XHR, * WebSockets, and EventSource). * - * @var string|string[] + * @var array|string */ public $connectSrc = 'self'; /** * Specifies the origins that can serve web fonts. * - * @var string|string[] + * @var array|string */ public $fontSrc; /** * Lists valid endpoints for submission from `
` tags. * - * @var string|string[] + * @var array|string */ public $formAction = 'self'; @@ -114,7 +114,7 @@ class ContentSecurityPolicy extends BaseConfig * and `` tags. This directive can't be used in * `` tags and applies only to non-HTML resources. * - * @var string|string[]|null + * @var array|string|null */ public $frameAncestors; @@ -129,33 +129,33 @@ class ContentSecurityPolicy extends BaseConfig /** * Restricts the origins allowed to deliver video and audio. * - * @var string|string[]|null + * @var array|string|null */ public $mediaSrc; /** * Allows control over Flash and other plugins. * - * @var string|string[] + * @var array|string */ public $objectSrc = 'self'; /** - * @var string|string[]|null + * @var array|string|null */ public $manifestSrc; /** * Limits the kinds of plugins a page may invoke. * - * @var string|string[]|null + * @var array|string|null */ public $pluginTypes; /** * List of actions allowed. * - * @var string|string[]|null + * @var array|string|null */ public $sandbox; diff --git a/app/Config/Format.php b/app/Config/Format.php index 749da3e5fde2..9cf244a9fd8c 100644 --- a/app/Config/Format.php +++ b/app/Config/Format.php @@ -22,7 +22,7 @@ class Format extends BaseConfig * These formats are only checked when the data passed to the respond() * method is an array. * - * @var string[] + * @var array */ public array $supportedResponseFormats = [ 'application/json', diff --git a/app/Config/Toolbar.php b/app/Config/Toolbar.php index 97fbda281287..7758e3e85a8b 100644 --- a/app/Config/Toolbar.php +++ b/app/Config/Toolbar.php @@ -31,7 +31,7 @@ class Toolbar extends BaseConfig * List of toolbar collectors that will be called when Debug Toolbar * fires up and collects data from. * - * @var string[] + * @var array */ public array $collectors = [ Timers::class, diff --git a/app/Config/Validation.php b/app/Config/Validation.php index 017dac5a5841..7fb2e8e2e4d9 100644 --- a/app/Config/Validation.php +++ b/app/Config/Validation.php @@ -18,7 +18,7 @@ class Validation extends BaseConfig * Stores the classes that contain the * rules that are available. * - * @var string[] + * @var array */ public array $ruleSets = [ Rules::class, diff --git a/app/Config/View.php b/app/Config/View.php index cf00863fb70b..98f8e0f602b1 100644 --- a/app/Config/View.php +++ b/app/Config/View.php @@ -56,7 +56,7 @@ class View extends BaseView * * All classes must implement CodeIgniter\View\ViewDecoratorInterface * - * @var class-string[] + * @var array> */ public array $decorators = []; } diff --git a/system/API/ResponseTrait.php b/system/API/ResponseTrait.php index 3cf0535914c4..d8b917b2054d 100644 --- a/system/API/ResponseTrait.php +++ b/system/API/ResponseTrait.php @@ -234,7 +234,7 @@ protected function failValidationError(string $description = 'Bad Request', ?str /** * Used when the data provided by the client cannot be validated on one or more fields. * - * @param string|string[] $errors + * @param array|string $errors * * @return ResponseInterface */ diff --git a/system/Autoloader/FileLocator.php b/system/Autoloader/FileLocator.php index c5cf8e18d28b..77c34f9e9e3f 100644 --- a/system/Autoloader/FileLocator.php +++ b/system/Autoloader/FileLocator.php @@ -301,7 +301,7 @@ public function findQualifiedNameFromPath(string $path) * Scans the defined namespaces, returning a list of all files * that are contained within the subpath specified by $path. * - * @return string[] List of file paths + * @return array List of file paths */ public function listFiles(string $path): array { @@ -334,7 +334,7 @@ public function listFiles(string $path): array * Scans the provided namespace, returning a list of all files * that are contained within the sub path specified by $path. * - * @return string[] List of file paths + * @return array List of file paths */ public function listNamespaceFiles(string $prefix, string $path): array { diff --git a/system/BaseModel.php b/system/BaseModel.php index 9cb6f969a202..b4be52f42a67 100644 --- a/system/BaseModel.php +++ b/system/BaseModel.php @@ -439,7 +439,7 @@ abstract protected function doUpdate($id = null, $row = null): bool; * @param int $batchSize The size of the batch to run * @param bool $returnSQL True means SQL is returned, false will execute the query * - * @return false|int|string[] Number of rows affected or FALSE on failure, SQL array when testMode + * @return array|false|int Number of rows affected or FALSE on failure, SQL array when testMode * * @throws DatabaseException */ @@ -1005,7 +1005,7 @@ public function update($id = null, $row = null): bool * @param int $batchSize The size of the batch to run * @param bool $returnSQL True means SQL is returned, false will execute the query * - * @return false|int|string[] Number of rows affected or FALSE on failure, SQL array when testMode + * @return array|false|int Number of rows affected or FALSE on failure, SQL array when testMode * * @throws DatabaseException * @throws ReflectionException diff --git a/system/Cache/ResponseCache.php b/system/Cache/ResponseCache.php index 3f66284a6cf5..e59e285b6970 100644 --- a/system/Cache/ResponseCache.php +++ b/system/Cache/ResponseCache.php @@ -35,7 +35,7 @@ final class ResponseCache * array('q') = Enabled, but only take into account the specified list * of query parameters. * - * @var bool|string[] + * @var array|bool */ private $cacheQueryString = false; diff --git a/system/CodeIgniter.php b/system/CodeIgniter.php index a602d2a3c2f1..11541524d57b 100644 --- a/system/CodeIgniter.php +++ b/system/CodeIgniter.php @@ -800,7 +800,7 @@ public function displayPerformanceMetrics(string $output): string * @param RouteCollectionInterface|null $routes A collection interface to use in place * of the config file. * - * @return string|string[]|null Route filters, that is, the filters specified in the routes file + * @return array|string|null Route filters, that is, the filters specified in the routes file * * @throws RedirectException */ diff --git a/system/Commands/Database/MigrateStatus.php b/system/Commands/Database/MigrateStatus.php index af3cbacf772c..8f8ce4d7b67a 100644 --- a/system/Commands/Database/MigrateStatus.php +++ b/system/Commands/Database/MigrateStatus.php @@ -63,7 +63,7 @@ class MigrateStatus extends BaseCommand /** * Namespaces to ignore when looking for migrations. * - * @var string[] + * @var array */ protected $ignoredNamespaces = [ 'CodeIgniter', diff --git a/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php b/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php index 18a158cffa4f..be9ec94ec275 100644 --- a/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php +++ b/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php @@ -33,7 +33,7 @@ final class AutoRouteCollector /** * List of controllers in Defined Routes that should not be accessed via Auto-Routing. * - * @var class-string[] + * @var array */ private array $protectedControllers; diff --git a/system/Commands/Utilities/Routes/ControllerFinder.php b/system/Commands/Utilities/Routes/ControllerFinder.php index 3982c454a78e..a8912aa07b13 100644 --- a/system/Commands/Utilities/Routes/ControllerFinder.php +++ b/system/Commands/Utilities/Routes/ControllerFinder.php @@ -38,7 +38,7 @@ public function __construct(string $namespace) } /** - * @return class-string[] + * @return array */ public function find(): array { diff --git a/system/Common.php b/system/Common.php index e5524c039835..2b09522e0b56 100644 --- a/system/Common.php +++ b/system/Common.php @@ -236,8 +236,8 @@ function cookie(string $name, string $value = '', array $options = []): Cookie /** * Fetches the global `CookieStore` instance held by `Response`. * - * @param Cookie[] $cookies If `getGlobal` is false, this is passed to CookieStore's constructor - * @param bool $getGlobal If false, creates a new instance of CookieStore + * @param array $cookies If `getGlobal` is false, this is passed to CookieStore's constructor + * @param bool $getGlobal If false, creates a new instance of CookieStore */ function cookies(array $cookies = [], bool $getGlobal = true): CookieStore { diff --git a/system/Config/View.php b/system/Config/View.php index 101b67f580d0..dff8672906b9 100644 --- a/system/Config/View.php +++ b/system/Config/View.php @@ -112,7 +112,7 @@ class View extends BaseConfig * * All classes must implement CodeIgniter\View\ViewDecoratorInterface * - * @var class-string[] + * @var array> */ public array $decorators = []; diff --git a/system/Cookie/CookieStore.php b/system/Cookie/CookieStore.php index d893a4add116..99c1dd9fff66 100644 --- a/system/Cookie/CookieStore.php +++ b/system/Cookie/CookieStore.php @@ -35,7 +35,7 @@ class CookieStore implements Countable, IteratorAggregate /** * Creates a CookieStore from an array of `Set-Cookie` headers. * - * @param string[] $headers + * @param array $headers * * @return static * @@ -44,7 +44,7 @@ class CookieStore implements Countable, IteratorAggregate public static function fromCookieHeaders(array $headers, bool $raw = false) { /** - * @var Cookie[] $cookies + * @var array $cookies */ $cookies = array_filter(array_map(static function (string $header) use ($raw) { try { @@ -60,7 +60,7 @@ public static function fromCookieHeaders(array $headers, bool $raw = false) } /** - * @param Cookie[] $cookies + * @param array $cookies * * @throws CookieException */ diff --git a/system/Cookie/Exceptions/CookieException.php b/system/Cookie/Exceptions/CookieException.php index 2e69a0e0f891..0b18d9eb8356 100644 --- a/system/Cookie/Exceptions/CookieException.php +++ b/system/Cookie/Exceptions/CookieException.php @@ -116,7 +116,7 @@ public static function forInvalidCookieInstance(array $data) /** * Thrown when the queried Cookie object does not exist in the cookie collection. * - * @param string[] $data + * @param array $data * * @return static */ diff --git a/system/Database/BaseBuilder.php b/system/Database/BaseBuilder.php index bc005f48f407..d6fc3aa6262c 100644 --- a/system/Database/BaseBuilder.php +++ b/system/Database/BaseBuilder.php @@ -281,14 +281,14 @@ class BaseBuilder /** * Strings that determine if a string represents a literal value or a field name * - * @var string[] + * @var array */ protected $isLiteralStr = []; /** * RegExp used to get operators * - * @var string[] + * @var array */ protected $pregOperators = []; @@ -1763,7 +1763,7 @@ public function getWhere($where = null, ?int $limit = null, ?int $offset = 0, bo * * @param '_deleteBatch'|'_insertBatch'|'_updateBatch'|'_upsertBatch' $renderMethod * - * @return false|int|string[] Number of rows inserted or FALSE on failure, SQL array when testMode + * @return array|false|int Number of rows inserted or FALSE on failure, SQL array when testMode * * @throws DatabaseException */ @@ -1900,7 +1900,7 @@ public function getCompiledUpsert() * * @param array|object|null $set * - * @return false|int|string[] Number of affected rows or FALSE on failure, SQL array when testMode + * @return array|false|int Number of affected rows or FALSE on failure, SQL array when testMode * * @throws DatabaseException */ @@ -1936,7 +1936,7 @@ public function upsert($set = null, ?bool $escape = null) * * @param array|object|null $set a dataset * - * @return false|int|string[] Number of affected rows or FALSE on failure, SQL array when testMode + * @return array|false|int Number of affected rows or FALSE on failure, SQL array when testMode * * @throws DatabaseException */ @@ -2021,9 +2021,9 @@ private function setAlias(string $alias): BaseBuilder /** * Sets update fields for upsert, update * - * @param RawSql[]|string|string[] $set - * @param bool $addToDefault adds update fields to the default ones - * @param array|null $ignore ignores items in set + * @param array|array|string $set + * @param bool $addToDefault adds update fields to the default ones + * @param array|null $ignore ignores items in set * * @return $this */ @@ -2165,7 +2165,7 @@ protected function formatValues(array $values): array * * @param array|object|null $set a dataset * - * @return false|int|string[] Number of rows inserted or FALSE on failure, SQL array when testMode + * @return array|false|int Number of rows inserted or FALSE on failure, SQL array when testMode */ public function insertBatch($set = null, ?bool $escape = null, int $batchSize = 100) { @@ -2531,7 +2531,7 @@ protected function validateUpdate(): bool * @param array|object|null $set a dataset * @param array|RawSql|string|null $constraints * - * @return false|int|string[] Number of rows affected or FALSE on failure, SQL array when testMode + * @return array|false|int Number of rows affected or FALSE on failure, SQL array when testMode */ public function updateBatch($set = null, $constraints = null, int $batchSize = 100) { @@ -2793,7 +2793,7 @@ public function delete($where = '', ?int $limit = null, bool $resetData = true) * @param array|object|null $set a dataset * @param array|RawSql|null $constraints * - * @return false|int|string[] Number of rows affected or FALSE on failure, SQL array when testMode + * @return array|false|int Number of rows affected or FALSE on failure, SQL array when testMode */ public function deleteBatch($set = null, $constraints = null, int $batchSize = 100) { diff --git a/system/Database/BaseConnection.php b/system/Database/BaseConnection.php index 4e34e0fdb699..289aa422bc2d 100644 --- a/system/Database/BaseConnection.php +++ b/system/Database/BaseConnection.php @@ -1279,10 +1279,10 @@ public function escape($str) /** * Escape String * - * @param string|string[] $str Input string - * @param bool $like Whether or not the string will be used in a LIKE condition + * @param array|string $str Input string + * @param bool $like Whether or not the string will be used in a LIKE condition * - * @return string|string[] + * @return array|string */ public function escapeString($str, bool $like = false) { @@ -1322,9 +1322,9 @@ public function escapeString($str, bool $like = false) * Calls the individual driver for platform * specific escaping for LIKE conditions * - * @param string|string[] $str + * @param array|string $str * - * @return string|string[] + * @return array|string */ public function escapeLikeString($str) { @@ -1517,7 +1517,7 @@ public function fieldExists(string $fieldName, string $tableName): bool /** * Returns an object with field data * - * @return stdClass[] + * @return array */ public function getFieldData(string $table) { diff --git a/system/Database/BaseResult.php b/system/Database/BaseResult.php index d7b32218322b..30352fba65ed 100644 --- a/system/Database/BaseResult.php +++ b/system/Database/BaseResult.php @@ -41,14 +41,14 @@ abstract class BaseResult implements ResultInterface /** * Result Array * - * @var array[] + * @var array */ public $resultArray = []; /** * Result Object * - * @var object[] + * @var array */ public $resultObject = []; diff --git a/system/Database/Forge.php b/system/Database/Forge.php index afc7d1cd6b15..c2659a88ce0e 100644 --- a/system/Database/Forge.php +++ b/system/Database/Forge.php @@ -39,7 +39,7 @@ class Forge /** * List of keys. * - * @var list + * @var list, keyName?: string}> */ protected $keys = []; @@ -53,7 +53,7 @@ class Forge /** * Primary keys. * - * @var array{fields?: string[], keyName?: string} + * @var array{fields?: array, keyName?: string} */ protected $primaryKeys = []; @@ -399,8 +399,8 @@ public function addField($fields) /** * Add Foreign Key * - * @param string|string[] $fieldName - * @param string|string[] $tableField + * @param array|string $fieldName + * @param array|string $tableField * * @throws DatabaseException */ diff --git a/system/Database/MySQLi/Connection.php b/system/Database/MySQLi/Connection.php index 3139185f1bc4..74d296c70036 100644 --- a/system/Database/MySQLi/Connection.php +++ b/system/Database/MySQLi/Connection.php @@ -355,9 +355,9 @@ protected function _escapeString(string $str): string * additional "ESCAPE x" parameter for specifying the escape character * in "LIKE" strings, and this handles those directly with a backslash. * - * @param string|string[] $str Input string + * @param array|string $str Input string * - * @return string|string[] + * @return array|string */ public function escapeLikeStringDirect($str) { @@ -411,7 +411,7 @@ protected function _listColumns(string $table = ''): string /** * Returns an array of objects with field data * - * @return stdClass[] + * @return array * * @throws DatabaseException */ @@ -443,7 +443,7 @@ protected function _fieldData(string $table): array /** * Returns an array of objects with index data * - * @return stdClass[] + * @return array * * @throws DatabaseException * @throws LogicException @@ -489,7 +489,7 @@ protected function _indexData(string $table): array /** * Returns an array of objects with Foreign key data * - * @return stdClass[] + * @return array * * @throws DatabaseException */ diff --git a/system/Database/OCI8/Connection.php b/system/Database/OCI8/Connection.php index 5d239f171733..beb3ba00c039 100644 --- a/system/Database/OCI8/Connection.php +++ b/system/Database/OCI8/Connection.php @@ -281,7 +281,7 @@ protected function _listColumns(string $table = ''): string /** * Returns an array of objects with field data * - * @return stdClass[] + * @return array * * @throws DatabaseException */ @@ -325,7 +325,7 @@ protected function _fieldData(string $table): array /** * Returns an array of objects with index data * - * @return stdClass[] + * @return array * * @throws DatabaseException */ @@ -374,7 +374,7 @@ protected function _indexData(string $table): array /** * Returns an array of objects with Foreign key data * - * @return stdClass[] + * @return array * * @throws DatabaseException */ diff --git a/system/Database/Postgre/Connection.php b/system/Database/Postgre/Connection.php index 64c24adb0244..d05d564812a2 100644 --- a/system/Database/Postgre/Connection.php +++ b/system/Database/Postgre/Connection.php @@ -294,7 +294,7 @@ protected function _listColumns(string $table = ''): string /** * Returns an array of objects with field data * - * @return stdClass[] + * @return array * * @throws DatabaseException */ @@ -329,7 +329,7 @@ protected function _fieldData(string $table): array /** * Returns an array of objects with index data * - * @return stdClass[] + * @return array * * @throws DatabaseException */ @@ -368,7 +368,7 @@ protected function _indexData(string $table): array /** * Returns an array of objects with Foreign key data * - * @return stdClass[] + * @return array * * @throws DatabaseException */ diff --git a/system/Database/SQLSRV/Connection.php b/system/Database/SQLSRV/Connection.php index aa45a4ba0a24..f6ba6fffaba6 100755 --- a/system/Database/SQLSRV/Connection.php +++ b/system/Database/SQLSRV/Connection.php @@ -77,7 +77,7 @@ class Connection extends BaseConnection * * Identifiers that must NOT be escaped. * - * @var string[] + * @var array */ protected $_reserved_identifiers = ['*']; @@ -231,7 +231,7 @@ protected function _listColumns(string $table = ''): string /** * Returns an array of objects with index data * - * @return stdClass[] + * @return array * * @throws DatabaseException */ @@ -269,7 +269,7 @@ protected function _indexData(string $table): array * Returns an array of objects with Foreign key data * referenced_object_id parent_object_id * - * @return stdClass[] + * @return array * * @throws DatabaseException */ @@ -335,7 +335,7 @@ protected function _enableForeignKeyChecks() /** * Returns an array of objects with field data * - * @return stdClass[] + * @return array * * @throws DatabaseException */ diff --git a/system/Database/SQLite3/Connection.php b/system/Database/SQLite3/Connection.php index 18760699a391..1e38ee5d3ae7 100644 --- a/system/Database/SQLite3/Connection.php +++ b/system/Database/SQLite3/Connection.php @@ -248,7 +248,7 @@ public function getFieldNames(string $table) /** * Returns an array of objects with field data * - * @return stdClass[] + * @return array * * @throws DatabaseException */ @@ -286,7 +286,7 @@ protected function _fieldData(string $table): array /** * Returns an array of objects with index data * - * @return stdClass[] + * @return array * * @throws DatabaseException */ @@ -343,7 +343,7 @@ protected function _indexData(string $table): array /** * Returns an array of objects with Foreign key data * - * @return stdClass[] + * @return array */ protected function _foreignKeyData(string $table): array { diff --git a/system/Debug/Toolbar.php b/system/Debug/Toolbar.php index 1a8faaf399ba..7e8a73fadb68 100644 --- a/system/Debug/Toolbar.php +++ b/system/Debug/Toolbar.php @@ -43,7 +43,7 @@ class Toolbar /** * Collectors to be used and displayed. * - * @var BaseCollector[] + * @var array */ protected $collectors = []; diff --git a/system/Email/Email.php b/system/Email/Email.php index 183ac945047c..bac2b5682d05 100644 --- a/system/Email/Email.php +++ b/system/Email/Email.php @@ -296,7 +296,7 @@ class Email /** * Raw debug messages * - * @var string[] + * @var array */ private array $debugMessageRaw = []; diff --git a/system/Events/Events.php b/system/Events/Events.php index b240dc29e1ca..c8f65e9cb360 100644 --- a/system/Events/Events.php +++ b/system/Events/Events.php @@ -59,7 +59,7 @@ class Events /** * A list of found files. * - * @var string[] + * @var array */ protected static $files = []; @@ -253,7 +253,7 @@ public static function setFiles(array $files) /** * Returns the files that were found/loaded during this request. * - * @return string[] + * @return array */ public static function getFiles() { diff --git a/system/Files/FileCollection.php b/system/Files/FileCollection.php index 87f987eb8f1e..ad24d708ea00 100644 --- a/system/Files/FileCollection.php +++ b/system/Files/FileCollection.php @@ -32,7 +32,7 @@ class FileCollection implements Countable, IteratorAggregate /** * The current list of file paths. * - * @var string[] + * @var array */ protected $files = []; @@ -75,9 +75,9 @@ final protected static function resolveFile(string $file): string /** * Removes files that are not part of the given directory (recursive). * - * @param string[] $files + * @param array $files * - * @return string[] + * @return array */ final protected static function filterFiles(array $files, string $directory): array { @@ -89,10 +89,10 @@ final protected static function filterFiles(array $files, string $directory): ar /** * Returns any files whose `basename` matches the given pattern. * - * @param string[] $files - * @param string $pattern Regex or pseudo-regex string + * @param array $files + * @param string $pattern Regex or pseudo-regex string * - * @return string[] + * @return array */ final protected static function matchFiles(array $files, string $pattern): array { @@ -116,7 +116,7 @@ final protected static function matchFiles(array $files, string $pattern): array /** * Loads the Filesystem helper and adds any initial files. * - * @param string[] $files + * @param array $files */ public function __construct(array $files = []) { @@ -136,7 +136,7 @@ protected function define(): void /** * Optimizes and returns the current file list. * - * @return string[] + * @return array */ public function get(): array { @@ -150,7 +150,7 @@ public function get(): array * Sets the file list directly, files are still subject to verification. * This works as a "reset" method with []. * - * @param string[] $files The new file list to use + * @param array $files The new file list to use * * @return $this */ @@ -164,7 +164,7 @@ public function set(array $files) /** * Adds an array/single file or directory to the list. * - * @param string|string[] $paths + * @param array|string $paths * * @return $this */ @@ -199,7 +199,7 @@ public function add($paths, bool $recursive = true) /** * Verifies and adds files to the list. * - * @param string[] $files + * @param array $files * * @return $this */ @@ -227,7 +227,7 @@ public function addFile(string $file) /** * Removes files from the list. * - * @param string[] $files + * @param array $files * * @return $this */ @@ -256,7 +256,7 @@ public function removeFile(string $file) * Verifies and adds files from each * directory to the list. * - * @param string[] $directories + * @param array $directories * * @return $this */ diff --git a/system/HTTP/Files/FileCollection.php b/system/HTTP/Files/FileCollection.php index 124381ec33bb..9edf1be9c16e 100644 --- a/system/HTTP/Files/FileCollection.php +++ b/system/HTTP/Files/FileCollection.php @@ -163,7 +163,7 @@ protected function populateFiles() * Given a file array, will create UploadedFile instances. Will * loop over an array and create objects for each. * - * @return UploadedFile|UploadedFile[] + * @return array|UploadedFile */ protected function createFileObject(array $array) { diff --git a/system/HTTP/ResponseInterface.php b/system/HTTP/ResponseInterface.php index a6d41c77be3c..0f76b000d5c2 100644 --- a/system/HTTP/ResponseInterface.php +++ b/system/HTTP/ResponseInterface.php @@ -350,7 +350,7 @@ public function hasCookie(string $name, ?string $value = null, string $prefix = /** * Returns the cookie * - * @return Cookie|Cookie[]|null + * @return array|Cookie|null */ public function getCookie(?string $name = null, string $prefix = ''); @@ -364,7 +364,7 @@ public function deleteCookie(string $name = '', string $domain = '', string $pat /** * Returns all cookies currently set. * - * @return Cookie[] + * @return array */ public function getCookies(); diff --git a/system/HTTP/ResponseTrait.php b/system/HTTP/ResponseTrait.php index b385bfea45de..8a6de1f9dd9c 100644 --- a/system/HTTP/ResponseTrait.php +++ b/system/HTTP/ResponseTrait.php @@ -644,7 +644,7 @@ public function hasCookie(string $name, ?string $value = null, string $prefix = * @param string $prefix Cookie prefix. * '': the default prefix * - * @return Cookie|Cookie[]|null + * @return array|Cookie|null */ public function getCookie(?string $name = null, string $prefix = '') { @@ -709,7 +709,7 @@ public function deleteCookie(string $name = '', string $domain = '', string $pat /** * Returns all cookies currently set. * - * @return Cookie[] + * @return array */ public function getCookies() { diff --git a/system/Helpers/form_helper.php b/system/Helpers/form_helper.php index b8ad34770464..a9c348c82f23 100644 --- a/system/Helpers/form_helper.php +++ b/system/Helpers/form_helper.php @@ -544,11 +544,11 @@ function form_close(string $extra = ''): string * Grabs a value from the POST array for the specified field so you can * re-populate an input field or textarea * - * @param string $field Field name - * @param string|string[] $default Default value - * @param bool $htmlEscape Whether to escape HTML special characters or not + * @param string $field Field name + * @param array|string $default Default value + * @param bool $htmlEscape Whether to escape HTML special characters or not * - * @return string|string[] + * @return array|string */ function set_value(string $field, $default = '', bool $htmlEscape = true) { diff --git a/system/Language/Language.php b/system/Language/Language.php index 8633f8a2dd9c..c43c7a0d5c12 100644 --- a/system/Language/Language.php +++ b/system/Language/Language.php @@ -173,8 +173,8 @@ protected function parseLine(string $line, string $locale): array /** * Advanced message formatting. * - * @param array|string $message - * @param string[] $args + * @param array|string $message + * @param array $args * * @return array|string */ diff --git a/system/Log/Handlers/ErrorlogHandler.php b/system/Log/Handlers/ErrorlogHandler.php index d9f3fc4e0a20..f56b7a8e9a43 100644 --- a/system/Log/Handlers/ErrorlogHandler.php +++ b/system/Log/Handlers/ErrorlogHandler.php @@ -43,7 +43,7 @@ class ErrorlogHandler extends BaseHandler /** * Constructor. * - * @param mixed[] $config + * @param array $config */ public function __construct(array $config = []) { diff --git a/system/Model.php b/system/Model.php index 2596417c12e6..abc8e725ece9 100644 --- a/system/Model.php +++ b/system/Model.php @@ -137,7 +137,7 @@ class Model extends BaseModel /** * Builder method names that should not be used in the Model. * - * @var string[] method name + * @var array method name */ private array $builderMethodsNotAvailable = [ 'getCompiledInsert', @@ -402,7 +402,7 @@ protected function doUpdate($id = null, $row = null): bool * @param int $batchSize The size of the batch to run * @param bool $returnSQL True means SQL is returned, false will execute the query * - * @return false|int|string[] Number of rows affected or FALSE on failure, SQL array when testMode + * @return array|false|int Number of rows affected or FALSE on failure, SQL array when testMode * * @throws DatabaseException */ diff --git a/system/Publisher/Publisher.php b/system/Publisher/Publisher.php index e40a14c88905..501329e36a6b 100644 --- a/system/Publisher/Publisher.php +++ b/system/Publisher/Publisher.php @@ -40,7 +40,7 @@ class Publisher extends FileCollection /** * Array of discovered Publishers. * - * @var array + * @var array|null> */ private static array $discovered = []; @@ -60,7 +60,7 @@ class Publisher extends FileCollection /** * List of file published curing the last write operation. * - * @var string[] + * @var array */ private array $published = []; @@ -95,7 +95,7 @@ class Publisher extends FileCollection /** * Discovers and returns all Publishers in the specified namespace directory. * - * @return self[] + * @return array */ final public static function discover(string $directory = 'Publishers'): array { @@ -252,7 +252,7 @@ final public function getErrors(): array /** * Returns the files published by the last write operation. * - * @return string[] + * @return array */ final public function getPublished(): array { @@ -266,7 +266,7 @@ final public function getPublished(): array /** * Verifies and adds paths to the list. * - * @param string[] $paths + * @param array $paths * * @return $this */ @@ -294,7 +294,7 @@ final public function addPath(string $path, bool $recursive = true) /** * Downloads and stages files from an array of URIs. * - * @param string[] $uris + * @param array $uris * * @return $this */ diff --git a/system/Router/AutoRouterImproved.php b/system/Router/AutoRouterImproved.php index a86e92f0161a..8c418df1583d 100644 --- a/system/Router/AutoRouterImproved.php +++ b/system/Router/AutoRouterImproved.php @@ -27,7 +27,7 @@ final class AutoRouterImproved implements AutoRouterInterface /** * List of controllers in Defined Routes that should not be accessed via this Auto-Routing. * - * @var class-string[] + * @var array */ private array $protectedControllers; @@ -100,8 +100,8 @@ final class AutoRouterImproved implements AutoRouterInterface private ?int $paramPos = null; /** - * @param class-string[] $protectedControllers - * @param string $defaultController Short classname + * @param array $protectedControllers + * @param string $defaultController Short classname * * @deprecated $httpVerb is deprecated. No longer used. */ diff --git a/system/Router/RouteCollection.php b/system/Router/RouteCollection.php index 8df31c9073bb..11fe54157160 100644 --- a/system/Router/RouteCollection.php +++ b/system/Router/RouteCollection.php @@ -1596,7 +1596,7 @@ private function getMethodParams(string $from): string * Compares the subdomain(s) passed in against the current subdomain * on this page request. * - * @param string|string[] $subdomains + * @param array|string $subdomains */ private function checkSubdomains($subdomains): bool { diff --git a/system/Router/Router.php b/system/Router/Router.php index 634f3e61a035..34d172360c3d 100644 --- a/system/Router/Router.php +++ b/system/Router/Router.php @@ -114,7 +114,7 @@ class Router implements RouterInterface * The filter info from Route Collection * if the matched route should be filtered. * - * @var string[] + * @var array */ protected $filtersInfo = []; @@ -228,7 +228,7 @@ public function getFilter() /** * Returns the filter info for the matched route, if any. * - * @return string[] + * @return array */ public function getFilters(): array { diff --git a/system/Test/FilterTestTrait.php b/system/Test/FilterTestTrait.php index 523717e54679..2ec0563595db 100644 --- a/system/Test/FilterTestTrait.php +++ b/system/Test/FilterTestTrait.php @@ -208,7 +208,7 @@ protected function getFilterCaller($filter, string $position): Closure * @param string $route The route to test * @param string $position "before" or "after" * - * @return string[] The filter aliases + * @return array The filter aliases */ protected function getFiltersForRoute(string $route, string $position): array { diff --git a/system/Test/Mock/MockCache.php b/system/Test/Mock/MockCache.php index 082807b559ec..30bbd18f8be6 100644 --- a/system/Test/Mock/MockCache.php +++ b/system/Test/Mock/MockCache.php @@ -29,7 +29,7 @@ class MockCache extends BaseHandler implements CacheInterface /** * Expiration times. * - * @var ?int[] + * @var ?array */ protected $expirations = []; @@ -203,7 +203,7 @@ public function clean() * The information returned and the structure of the data * varies depending on the handler. * - * @return string[] Keys currently present in the store + * @return array Keys currently present in the store */ public function getCacheInfo() { diff --git a/system/Test/Mock/MockSession.php b/system/Test/Mock/MockSession.php index 9f558e1034ad..63339788d084 100644 --- a/system/Test/Mock/MockSession.php +++ b/system/Test/Mock/MockSession.php @@ -26,7 +26,7 @@ class MockSession extends Session /** * Holds our "cookie" data. * - * @var Cookie[] + * @var array */ public $cookies = []; diff --git a/system/Validation/Validation.php b/system/Validation/Validation.php index 83bb361e7017..4101c41ce898 100644 --- a/system/Validation/Validation.php +++ b/system/Validation/Validation.php @@ -234,7 +234,7 @@ private static function getRegex(string $field): string * * @param array|bool|float|int|object|string|null $value The data to validate. * @param array|string $rules The validation rules. - * @param string[] $errors The custom error message. + * @param array $errors The custom error message. * @param string|null $dbGroup The database group to use. */ public function check($value, $rules, array $errors = [], $dbGroup = null): bool @@ -626,7 +626,7 @@ public function hasRule(string $field): bool * * @param string $group Group. * - * @return string[] Rule group. + * @return array Rule group. * * @throws ValidationException If group not found. */ diff --git a/system/Validation/ValidationInterface.php b/system/Validation/ValidationInterface.php index c289afc4541d..9bde5c2a4873 100644 --- a/system/Validation/ValidationInterface.php +++ b/system/Validation/ValidationInterface.php @@ -34,7 +34,7 @@ public function run(?array $data = null, ?string $group = null, ?string $dbGroup * * @param array|bool|float|int|object|string|null $value Value to validate. * @param array|string $rules - * @param string[] $errors + * @param array $errors * @param string|null $dbGroup The database group to use. * * @return bool True if valid, else false. @@ -84,7 +84,7 @@ public function hasRule(string $field): bool; * * @param string $group Group. * - * @return string[] Rule group. + * @return array Rule group. */ public function getRuleGroup(string $group): array; diff --git a/tests/system/Helpers/FilesystemHelperTest.php b/tests/system/Helpers/FilesystemHelperTest.php index 987e11eb5dcb..7f7c15dc323d 100644 --- a/tests/system/Helpers/FilesystemHelperTest.php +++ b/tests/system/Helpers/FilesystemHelperTest.php @@ -23,7 +23,7 @@ final class FilesystemHelperTest extends CIUnitTestCase { /** - * @var array>|array>|array|array|array|mixed + * @var array>|array>>|array>|array|array|mixed */ private array $structure; diff --git a/tests/system/Validation/ValidationTest.php b/tests/system/Validation/ValidationTest.php index bb8ece43dd86..6d3214549082 100644 --- a/tests/system/Validation/ValidationTest.php +++ b/tests/system/Validation/ValidationTest.php @@ -640,8 +640,8 @@ public function testRunWithCustomErrorsAndAsteriskField(): void /** * @dataProvider provideRulesSetup * - * @param string|string[] $rules - * @param string $expected + * @param array|string $rules + * @param string $expected */ public function testRulesSetup($rules, $expected, array $errors = []): void { diff --git a/utils/Rector/PassStrictParameterToFunctionParameterRector.php b/utils/Rector/PassStrictParameterToFunctionParameterRector.php index 14b1a840e60b..9e68433006ca 100644 --- a/utils/Rector/PassStrictParameterToFunctionParameterRector.php +++ b/utils/Rector/PassStrictParameterToFunctionParameterRector.php @@ -44,7 +44,7 @@ public function getRuleDefinition(): RuleDefinition } /** - * @return string[] + * @return array */ public function getNodeTypes(): array { diff --git a/utils/Rector/RemoveErrorSuppressInTryCatchStmtsRector.php b/utils/Rector/RemoveErrorSuppressInTryCatchStmtsRector.php index 5bdd8ed8bb7b..316a97ac178e 100644 --- a/utils/Rector/RemoveErrorSuppressInTryCatchStmtsRector.php +++ b/utils/Rector/RemoveErrorSuppressInTryCatchStmtsRector.php @@ -44,7 +44,7 @@ public function getRuleDefinition(): RuleDefinition } /** - * @return string[] + * @return array */ public function getNodeTypes(): array { diff --git a/utils/Rector/UnderscoreToCamelCaseVariableNameRector.php b/utils/Rector/UnderscoreToCamelCaseVariableNameRector.php index 23035e7bee46..ccfa751e3654 100644 --- a/utils/Rector/UnderscoreToCamelCaseVariableNameRector.php +++ b/utils/Rector/UnderscoreToCamelCaseVariableNameRector.php @@ -79,7 +79,7 @@ public function run($aB) } /** - * @return string[] + * @return array */ public function getNodeTypes(): array { From ad11363bcf9714b440cdcb55436d2ea6f95fade5 Mon Sep 17 00:00:00 2001 From: "John Paul E. Balandan, CPA" Date: Sun, 25 Feb 2024 23:26:15 +0800 Subject: [PATCH 007/139] style: also align `@phpstan-type` and `@phpstan-var` (#8551) --- .php-cs-fixer.dist.php | 2 ++ .php-cs-fixer.no-header.php | 23 +++++++++++++++++++++++ .php-cs-fixer.user-guide.php | 23 +++++++++++++++++++++++ app/Config/View.php | 4 ++-- system/BaseModel.php | 12 ++++++------ system/Config/View.php | 8 ++++---- system/Database/BaseConnection.php | 4 ++-- system/Database/BasePreparedQuery.php | 4 ++-- system/Database/BaseResult.php | 4 ++-- system/View/Parser.php | 2 +- 10 files changed, 67 insertions(+), 19 deletions(-) diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php index 3352a832686e..ab5069bcad13 100644 --- a/.php-cs-fixer.dist.php +++ b/.php-cs-fixer.dist.php @@ -63,6 +63,8 @@ 'phpstan-param', 'phpstan-property', 'phpstan-return', + 'phpstan-type', + 'phpstan-var', 'property', 'property-read', 'property-write', diff --git a/.php-cs-fixer.no-header.php b/.php-cs-fixer.no-header.php index 15957b5e5d00..2f5b471f5b74 100644 --- a/.php-cs-fixer.no-header.php +++ b/.php-cs-fixer.no-header.php @@ -31,6 +31,29 @@ $overrides = [ 'phpdoc_array_type' => true, + 'phpdoc_align' => [ + 'align' => 'vertical', + 'spacing' => 1, + 'tags' => [ + 'method', + 'param', + 'phpstan-assert', + 'phpstan-assert-if-true', + 'phpstan-assert-if-false', + 'phpstan-param', + 'phpstan-property', + 'phpstan-return', + 'phpstan-type', + 'phpstan-var', + 'property', + 'property-read', + 'property-write', + 'return', + 'throws', + 'type', + 'var', + ], + ], ]; $options = [ diff --git a/.php-cs-fixer.user-guide.php b/.php-cs-fixer.user-guide.php index c61866e98c91..b46bd6112b8b 100644 --- a/.php-cs-fixer.user-guide.php +++ b/.php-cs-fixer.user-guide.php @@ -40,6 +40,29 @@ 'leading_backslash_in_global_namespace' => true, ], 'phpdoc_array_type' => true, + 'phpdoc_align' => [ + 'align' => 'vertical', + 'spacing' => 1, + 'tags' => [ + 'method', + 'param', + 'phpstan-assert', + 'phpstan-assert-if-true', + 'phpstan-assert-if-false', + 'phpstan-param', + 'phpstan-property', + 'phpstan-return', + 'phpstan-type', + 'phpstan-var', + 'property', + 'property-read', + 'property-write', + 'return', + 'throws', + 'type', + 'var', + ], + ], ]; $options = [ diff --git a/app/Config/View.php b/app/Config/View.php index 98f8e0f602b1..5a0e2ce6c040 100644 --- a/app/Config/View.php +++ b/app/Config/View.php @@ -34,7 +34,7 @@ class View extends BaseView * { title|esc(js) } * { created_on|date(Y-m-d)|esc(attr) } * - * @var array + * @var array * @phpstan-var array */ public $filters = []; @@ -44,7 +44,7 @@ class View extends BaseView * by the core Parser by creating aliases that will be replaced with * any callable. Can be single or tag pair. * - * @var array|callable|string> + * @var array|callable|string> * @phpstan-var array|ParserCallableString|ParserCallable> */ public $plugins = []; diff --git a/system/BaseModel.php b/system/BaseModel.php index b4be52f42a67..7540f84df4a5 100644 --- a/system/BaseModel.php +++ b/system/BaseModel.php @@ -42,15 +42,15 @@ * - process various callbacks * - allow intermingling calls to the db connection * - * @phpstan-type row_array array + * @phpstan-type row_array array * @phpstan-type event_data_beforeinsert array{data: row_array} - * @phpstan-type event_data_afterinsert array{id: int|string, data: row_array, result: bool} - * @phpstan-type event_data_beforefind array{id?: int|string, method: string, singleton: bool, limit?: int, offset?: int} - * @phpstan-type event_data_afterfind array{id: int|string|null|list, data: row_array|list|object|null, method: string, singleton: bool} + * @phpstan-type event_data_afterinsert array{id: int|string, data: row_array, result: bool} + * @phpstan-type event_data_beforefind array{id?: int|string, method: string, singleton: bool, limit?: int, offset?: int} + * @phpstan-type event_data_afterfind array{id: int|string|null|list, data: row_array|list|object|null, method: string, singleton: bool} * @phpstan-type event_data_beforeupdate array{id: null|list, data: row_array} - * @phpstan-type event_data_afterupdate array{id: null|list, data: row_array|object, result: bool} + * @phpstan-type event_data_afterupdate array{id: null|list, data: row_array|object, result: bool} * @phpstan-type event_data_beforedelete array{id: null|list, purge: bool} - * @phpstan-type event_data_afterdelete array{id: null|list, data: null, purge: bool, result: bool} + * @phpstan-type event_data_afterdelete array{id: null|list, data: null, purge: bool, result: bool} */ abstract class BaseModel { diff --git a/system/Config/View.php b/system/Config/View.php index dff8672906b9..f527854813d6 100644 --- a/system/Config/View.php +++ b/system/Config/View.php @@ -39,7 +39,7 @@ class View extends BaseConfig * * @psalm-suppress UndefinedDocblockClass * - * @var array + * @var array * @phpstan-var array */ public $filters = []; @@ -51,7 +51,7 @@ class View extends BaseConfig * * @psalm-suppress UndefinedDocblockClass * - * @var array|callable|string> + * @var array|callable|string> * @phpstan-var array|parser_callable_string|parser_callable> */ public $plugins = []; @@ -59,7 +59,7 @@ class View extends BaseConfig /** * Built-in View filters. * - * @var array + * @var array * @phpstan-var array */ protected $coreFilters = [ @@ -89,7 +89,7 @@ class View extends BaseConfig /** * Built-in View plugins. * - * @var array|callable|string> + * @var array|callable|string> * @phpstan-var array|parser_callable_string|parser_callable> */ protected $corePlugins = [ diff --git a/system/Database/BaseConnection.php b/system/Database/BaseConnection.php index 289aa422bc2d..3ca7c4988ca7 100644 --- a/system/Database/BaseConnection.php +++ b/system/Database/BaseConnection.php @@ -195,7 +195,7 @@ abstract class BaseConnection implements ConnectionInterface /** * Connection ID * - * @var false|object|resource + * @var false|object|resource * @phpstan-var false|TConnection */ public $connID = false; @@ -203,7 +203,7 @@ abstract class BaseConnection implements ConnectionInterface /** * Result ID * - * @var false|object|resource + * @var false|object|resource * @phpstan-var false|TResult */ public $resultID = false; diff --git a/system/Database/BasePreparedQuery.php b/system/Database/BasePreparedQuery.php index 4e9d816686f9..ea16de594c2b 100644 --- a/system/Database/BasePreparedQuery.php +++ b/system/Database/BasePreparedQuery.php @@ -29,7 +29,7 @@ abstract class BasePreparedQuery implements PreparedQueryInterface /** * The prepared statement itself. * - * @var object|resource|null + * @var object|resource|null * @phpstan-var TStatement|null */ protected $statement; @@ -59,7 +59,7 @@ abstract class BasePreparedQuery implements PreparedQueryInterface /** * A reference to the db connection to use. * - * @var BaseConnection + * @var BaseConnection * @phpstan-var BaseConnection */ protected $db; diff --git a/system/Database/BaseResult.php b/system/Database/BaseResult.php index 30352fba65ed..b4d8c6a43fe5 100644 --- a/system/Database/BaseResult.php +++ b/system/Database/BaseResult.php @@ -25,7 +25,7 @@ abstract class BaseResult implements ResultInterface /** * Connection ID * - * @var object|resource + * @var object|resource * @phpstan-var TConnection */ public $connID; @@ -33,7 +33,7 @@ abstract class BaseResult implements ResultInterface /** * Result ID * - * @var false|object|resource + * @var false|object|resource * @phpstan-var false|TResult */ public $resultID; diff --git a/system/View/Parser.php b/system/View/Parser.php index ff5656a53863..4db85195addd 100644 --- a/system/View/Parser.php +++ b/system/View/Parser.php @@ -63,7 +63,7 @@ class Parser extends View /** * Stores any plugins registered at run-time. * - * @var array|callable|string> + * @var array|callable|string> * @phpstan-var array|parser_callable_string|parser_callable> */ protected $plugins = []; From 06353a40371b7267311736cf536dc9fb7a42df88 Mon Sep 17 00:00:00 2001 From: "John Paul E. Balandan, CPA" Date: Fri, 9 Feb 2024 21:54:29 +0800 Subject: [PATCH 008/139] style: Enable `phpdoc_list_type` fixer --- .php-cs-fixer.dist.php | 33 +------------------ .php-cs-fixer.no-header.php | 27 +-------------- .php-cs-fixer.user-guide.php | 24 -------------- app/Config/Cache.php | 2 +- app/Config/ContentSecurityPolicy.php | 30 ++++++++--------- app/Config/Format.php | 2 +- app/Config/Toolbar.php | 2 +- app/Config/Validation.php | 2 +- app/Config/View.php | 12 +++---- phpstan-baseline.php | 30 ++++++----------- psalm-baseline.xml | 22 +++++-------- system/API/ResponseTrait.php | 2 +- system/Autoloader/Autoloader.php | 2 +- system/Autoloader/FileLocator.php | 4 +-- system/BaseModel.php | 4 +-- system/Cache/ResponseCache.php | 2 +- system/CodeIgniter.php | 2 +- system/Commands/Database/MigrateStatus.php | 2 +- .../AutoRouterImproved/AutoRouteCollector.php | 2 +- .../Utilities/Routes/ControllerFinder.php | 2 +- system/Common.php | 4 +-- system/Config/BaseService.php | 2 +- system/Config/View.php | 8 ++--- system/Cookie/CookieStore.php | 6 ++-- system/Cookie/Exceptions/CookieException.php | 4 +-- system/Database/BaseBuilder.php | 24 +++++++------- system/Database/BaseConnection.php | 12 +++---- system/Database/BaseResult.php | 8 ++--- system/Database/Forge.php | 8 ++--- system/Database/MySQLi/Connection.php | 10 +++--- system/Database/OCI8/Connection.php | 8 ++--- system/Database/Postgre/Connection.php | 6 ++-- system/Database/SQLSRV/Connection.php | 8 ++--- system/Database/SQLite3/Connection.php | 6 ++-- system/Debug/Toolbar.php | 2 +- system/Email/Email.php | 2 +- system/Events/Events.php | 8 ++--- system/Files/FileCollection.php | 26 +++++++-------- system/HTTP/Files/FileCollection.php | 2 +- system/HTTP/ResponseInterface.php | 4 +-- system/HTTP/ResponseTrait.php | 4 +-- system/Helpers/form_helper.php | 8 ++--- system/Language/Language.php | 4 +-- system/Log/Handlers/ErrorlogHandler.php | 2 +- system/Model.php | 4 +-- system/Publisher/Publisher.php | 12 +++---- system/Router/AutoRouterImproved.php | 6 ++-- system/Router/RouteCollection.php | 2 +- system/Router/Router.php | 4 +-- system/Test/FilterTestTrait.php | 2 +- system/Test/Mock/MockCache.php | 4 +-- system/Test/Mock/MockSession.php | 2 +- system/Validation/Validation.php | 4 +-- system/Validation/ValidationInterface.php | 4 +-- system/View/Parser.php | 2 +- system/View/View.php | 2 +- tests/system/Helpers/FilesystemHelperTest.php | 2 +- tests/system/Validation/ValidationTest.php | 4 +-- ...rictParameterToFunctionParameterRector.php | 2 +- ...moveErrorSuppressInTryCatchStmtsRector.php | 2 +- ...nderscoreToCamelCaseVariableNameRector.php | 2 +- 61 files changed, 174 insertions(+), 270 deletions(-) diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php index ab5069bcad13..3653cf1349c2 100644 --- a/.php-cs-fixer.dist.php +++ b/.php-cs-fixer.dist.php @@ -43,38 +43,7 @@ __DIR__ . '/spark', ]); -$overrides = [ - 'phpdoc_array_type' => true, - 'phpdoc_no_alias_tag' => [ - 'replacements' => [ - 'type' => 'var', - 'link' => 'see', - ], - ], - 'phpdoc_align' => [ - 'align' => 'vertical', - 'spacing' => 1, - 'tags' => [ - 'method', - 'param', - 'phpstan-assert', - 'phpstan-assert-if-true', - 'phpstan-assert-if-false', - 'phpstan-param', - 'phpstan-property', - 'phpstan-return', - 'phpstan-type', - 'phpstan-var', - 'property', - 'property-read', - 'property-write', - 'return', - 'throws', - 'type', - 'var', - ], - ], -]; +$overrides = []; $options = [ 'cacheFile' => 'build/.php-cs-fixer.cache', diff --git a/.php-cs-fixer.no-header.php b/.php-cs-fixer.no-header.php index 2f5b471f5b74..7c9ae1e80737 100644 --- a/.php-cs-fixer.no-header.php +++ b/.php-cs-fixer.no-header.php @@ -29,32 +29,7 @@ __DIR__ . '/admin/starter/builds', ]); -$overrides = [ - 'phpdoc_array_type' => true, - 'phpdoc_align' => [ - 'align' => 'vertical', - 'spacing' => 1, - 'tags' => [ - 'method', - 'param', - 'phpstan-assert', - 'phpstan-assert-if-true', - 'phpstan-assert-if-false', - 'phpstan-param', - 'phpstan-property', - 'phpstan-return', - 'phpstan-type', - 'phpstan-var', - 'property', - 'property-read', - 'property-write', - 'return', - 'throws', - 'type', - 'var', - ], - ], -]; +$overrides = []; $options = [ 'cacheFile' => 'build/.php-cs-fixer.no-header.cache', diff --git a/.php-cs-fixer.user-guide.php b/.php-cs-fixer.user-guide.php index b46bd6112b8b..fe634f0a6f21 100644 --- a/.php-cs-fixer.user-guide.php +++ b/.php-cs-fixer.user-guide.php @@ -39,30 +39,6 @@ 'import_symbols' => false, 'leading_backslash_in_global_namespace' => true, ], - 'phpdoc_array_type' => true, - 'phpdoc_align' => [ - 'align' => 'vertical', - 'spacing' => 1, - 'tags' => [ - 'method', - 'param', - 'phpstan-assert', - 'phpstan-assert-if-true', - 'phpstan-assert-if-false', - 'phpstan-param', - 'phpstan-property', - 'phpstan-return', - 'phpstan-type', - 'phpstan-var', - 'property', - 'property-read', - 'property-write', - 'return', - 'throws', - 'type', - 'var', - ], - ], ]; $options = [ diff --git a/app/Config/Cache.php b/app/Config/Cache.php index 8cae5b7732c1..b29c13a9ea71 100644 --- a/app/Config/Cache.php +++ b/app/Config/Cache.php @@ -61,7 +61,7 @@ class Cache extends BaseConfig * ['q'] = Enabled, but only take into account the specified list * of query parameters. * - * @var array|bool + * @var bool|list */ public $cacheQueryString = false; diff --git a/app/Config/ContentSecurityPolicy.php b/app/Config/ContentSecurityPolicy.php index 580c5c8b9f7e..f1c26ca9e011 100644 --- a/app/Config/ContentSecurityPolicy.php +++ b/app/Config/ContentSecurityPolicy.php @@ -45,28 +45,28 @@ class ContentSecurityPolicy extends BaseConfig /** * Will default to self if not overridden * - * @var array|string|null + * @var list|string|null */ public $defaultSrc; /** * Lists allowed scripts' URLs. * - * @var array|string + * @var list|string */ public $scriptSrc = 'self'; /** * Lists allowed stylesheets' URLs. * - * @var array|string + * @var list|string */ public $styleSrc = 'self'; /** * Defines the origins from which images can be loaded. * - * @var array|string + * @var list|string */ public $imageSrc = 'self'; @@ -75,14 +75,14 @@ class ContentSecurityPolicy extends BaseConfig * * Will default to self if not overridden * - * @var array|string|null + * @var list|string|null */ public $baseURI; /** * Lists the URLs for workers and embedded frame contents * - * @var array|string + * @var list|string */ public $childSrc = 'self'; @@ -90,21 +90,21 @@ class ContentSecurityPolicy extends BaseConfig * Limits the origins that you can connect to (via XHR, * WebSockets, and EventSource). * - * @var array|string + * @var list|string */ public $connectSrc = 'self'; /** * Specifies the origins that can serve web fonts. * - * @var array|string + * @var list|string */ public $fontSrc; /** * Lists valid endpoints for submission from `` tags. * - * @var array|string + * @var list|string */ public $formAction = 'self'; @@ -114,7 +114,7 @@ class ContentSecurityPolicy extends BaseConfig * and `` tags. This directive can't be used in * `` tags and applies only to non-HTML resources. * - * @var array|string|null + * @var list|string|null */ public $frameAncestors; @@ -129,33 +129,33 @@ class ContentSecurityPolicy extends BaseConfig /** * Restricts the origins allowed to deliver video and audio. * - * @var array|string|null + * @var list|string|null */ public $mediaSrc; /** * Allows control over Flash and other plugins. * - * @var array|string + * @var list|string */ public $objectSrc = 'self'; /** - * @var array|string|null + * @var list|string|null */ public $manifestSrc; /** * Limits the kinds of plugins a page may invoke. * - * @var array|string|null + * @var list|string|null */ public $pluginTypes; /** * List of actions allowed. * - * @var array|string|null + * @var list|string|null */ public $sandbox; diff --git a/app/Config/Format.php b/app/Config/Format.php index 9cf244a9fd8c..3de98d7a95d7 100644 --- a/app/Config/Format.php +++ b/app/Config/Format.php @@ -22,7 +22,7 @@ class Format extends BaseConfig * These formats are only checked when the data passed to the respond() * method is an array. * - * @var array + * @var list */ public array $supportedResponseFormats = [ 'application/json', diff --git a/app/Config/Toolbar.php b/app/Config/Toolbar.php index 7758e3e85a8b..08012c2de9ae 100644 --- a/app/Config/Toolbar.php +++ b/app/Config/Toolbar.php @@ -31,7 +31,7 @@ class Toolbar extends BaseConfig * List of toolbar collectors that will be called when Debug Toolbar * fires up and collects data from. * - * @var array + * @var list */ public array $collectors = [ Timers::class, diff --git a/app/Config/Validation.php b/app/Config/Validation.php index 7fb2e8e2e4d9..6342dbbe7d38 100644 --- a/app/Config/Validation.php +++ b/app/Config/Validation.php @@ -18,7 +18,7 @@ class Validation extends BaseConfig * Stores the classes that contain the * rules that are available. * - * @var array + * @var list */ public array $ruleSets = [ Rules::class, diff --git a/app/Config/View.php b/app/Config/View.php index 5a0e2ce6c040..cf8dd06f1065 100644 --- a/app/Config/View.php +++ b/app/Config/View.php @@ -6,8 +6,8 @@ use CodeIgniter\View\ViewDecoratorInterface; /** - * @phpstan-type ParserCallable (callable(mixed): mixed) - * @phpstan-type ParserCallableString (callable(mixed): mixed)&string + * @phpstan-type parser_callable (callable(mixed): mixed) + * @phpstan-type parser_callable_string (callable(mixed): mixed)&string */ class View extends BaseView { @@ -35,7 +35,7 @@ class View extends BaseView * { created_on|date(Y-m-d)|esc(attr) } * * @var array - * @phpstan-var array + * @phpstan-var array */ public $filters = []; @@ -44,8 +44,8 @@ class View extends BaseView * by the core Parser by creating aliases that will be replaced with * any callable. Can be single or tag pair. * - * @var array|callable|string> - * @phpstan-var array|ParserCallableString|ParserCallable> + * @var array|string> + * @phpstan-var array|parser_callable_string|parser_callable> */ public $plugins = []; @@ -56,7 +56,7 @@ class View extends BaseView * * All classes must implement CodeIgniter\View\ViewDecoratorInterface * - * @var array> + * @var list> */ public array $decorators = []; } diff --git a/phpstan-baseline.php b/phpstan-baseline.php index 3b79f9639943..843603f976b5 100644 --- a/phpstan-baseline.php +++ b/phpstan-baseline.php @@ -1001,16 +1001,6 @@ 'count' => 2, 'path' => __DIR__ . '/system/Database/BaseResult.php', ]; -$ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, array\\ given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseResult.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, array\\ given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseResult.php', -]; $ignoreErrors[] = [ 'message' => '#^Parameter \\#1 \\$className \\(class\\-string\\) of method CodeIgniter\\\\Database\\\\BaseResult\\:\\:getCustomResultObject\\(\\) should be contravariant with parameter \\$className \\(string\\) of method CodeIgniter\\\\Database\\\\ResultInterface\\\\:\\:getCustomResultObject\\(\\)$#', 'count' => 1, @@ -1091,6 +1081,11 @@ 'count' => 1, 'path' => __DIR__ . '/system/Database/Forge.php', ]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$fields \\(array\\\\) does not accept array\\\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; $ignoreErrors[] = [ 'message' => '#^Method CodeIgniter\\\\Database\\\\Migration\\:\\:down\\(\\) has no return type specified\\.$#', 'count' => 1, @@ -1256,16 +1251,6 @@ 'count' => 5, 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', ]; -$ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, array given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, array\\ given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', -]; $ignoreErrors[] = [ 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\OCI8\\\\Connection\\:\\:\\$escapeChar is not the same as PHPDoc type array\\|string of overridden property CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:\\$escapeChar\\.$#', 'count' => 1, @@ -3121,6 +3106,11 @@ 'count' => 1, 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', ]; +$ignoreErrors[] = [ + 'message' => '#^Cannot unset offset string on array\\\\|null\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Test/Mock/MockCache.php', +]; $ignoreErrors[] = [ 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCache\\:\\:assertHas\\(\\) has no return type specified\\.$#', 'count' => 1, diff --git a/psalm-baseline.xml b/psalm-baseline.xml index c4240e2b7fc8..129aefd272a2 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -1,10 +1,10 @@ - + - ]]> - |ParserCallableString|ParserCallable>]]> - |ParserCallableString|ParserCallable>]]> + |parser_callable_string|parser_callable>]]> + |parser_callable_string|parser_callable>]]> + ]]> public $filters = []; public $plugins = []; public $plugins = []; @@ -34,8 +34,8 @@ - |parser_callable_string|parser_callable>]]> - |parser_callable_string|parser_callable>]]> + |parser_callable_string|parser_callable>]]> + |parser_callable_string|parser_callable>]]> ]]> '\abs', @@ -139,8 +139,8 @@ - |parser_callable_string|parser_callable>]]> - |parser_callable_string|parser_callable>]]> + |parser_callable_string|parser_callable>]]> + |parser_callable_string|parser_callable>]]> protected $plugins = []; protected $plugins = []; @@ -181,12 +181,6 @@ - - - username]]> - username]]> - - OCI_ASSOC diff --git a/system/API/ResponseTrait.php b/system/API/ResponseTrait.php index d8b917b2054d..83a14528f6c3 100644 --- a/system/API/ResponseTrait.php +++ b/system/API/ResponseTrait.php @@ -234,7 +234,7 @@ protected function failValidationError(string $description = 'Bad Request', ?str /** * Used when the data provided by the client cannot be validated on one or more fields. * - * @param array|string $errors + * @param list|string $errors * * @return ResponseInterface */ diff --git a/system/Autoloader/Autoloader.php b/system/Autoloader/Autoloader.php index 9a6073d96336..2f9b13c0b818 100644 --- a/system/Autoloader/Autoloader.php +++ b/system/Autoloader/Autoloader.php @@ -61,7 +61,7 @@ class Autoloader /** * Stores namespaces as key, and path as values. * - * @var array> + * @var array> */ protected $prefixes = []; diff --git a/system/Autoloader/FileLocator.php b/system/Autoloader/FileLocator.php index 77c34f9e9e3f..6f1c547d2358 100644 --- a/system/Autoloader/FileLocator.php +++ b/system/Autoloader/FileLocator.php @@ -301,7 +301,7 @@ public function findQualifiedNameFromPath(string $path) * Scans the defined namespaces, returning a list of all files * that are contained within the subpath specified by $path. * - * @return array List of file paths + * @return list List of file paths */ public function listFiles(string $path): array { @@ -334,7 +334,7 @@ public function listFiles(string $path): array * Scans the provided namespace, returning a list of all files * that are contained within the sub path specified by $path. * - * @return array List of file paths + * @return list List of file paths */ public function listNamespaceFiles(string $prefix, string $path): array { diff --git a/system/BaseModel.php b/system/BaseModel.php index 7540f84df4a5..8cc4cca3ba43 100644 --- a/system/BaseModel.php +++ b/system/BaseModel.php @@ -439,7 +439,7 @@ abstract protected function doUpdate($id = null, $row = null): bool; * @param int $batchSize The size of the batch to run * @param bool $returnSQL True means SQL is returned, false will execute the query * - * @return array|false|int Number of rows affected or FALSE on failure, SQL array when testMode + * @return false|int|list Number of rows affected or FALSE on failure, SQL array when testMode * * @throws DatabaseException */ @@ -1005,7 +1005,7 @@ public function update($id = null, $row = null): bool * @param int $batchSize The size of the batch to run * @param bool $returnSQL True means SQL is returned, false will execute the query * - * @return array|false|int Number of rows affected or FALSE on failure, SQL array when testMode + * @return false|int|list Number of rows affected or FALSE on failure, SQL array when testMode * * @throws DatabaseException * @throws ReflectionException diff --git a/system/Cache/ResponseCache.php b/system/Cache/ResponseCache.php index e59e285b6970..c82251856755 100644 --- a/system/Cache/ResponseCache.php +++ b/system/Cache/ResponseCache.php @@ -35,7 +35,7 @@ final class ResponseCache * array('q') = Enabled, but only take into account the specified list * of query parameters. * - * @var array|bool + * @var bool|list */ private $cacheQueryString = false; diff --git a/system/CodeIgniter.php b/system/CodeIgniter.php index 11541524d57b..be917d2f494c 100644 --- a/system/CodeIgniter.php +++ b/system/CodeIgniter.php @@ -800,7 +800,7 @@ public function displayPerformanceMetrics(string $output): string * @param RouteCollectionInterface|null $routes A collection interface to use in place * of the config file. * - * @return array|string|null Route filters, that is, the filters specified in the routes file + * @return list|string|null Route filters, that is, the filters specified in the routes file * * @throws RedirectException */ diff --git a/system/Commands/Database/MigrateStatus.php b/system/Commands/Database/MigrateStatus.php index 8f8ce4d7b67a..cbbe2f70ce47 100644 --- a/system/Commands/Database/MigrateStatus.php +++ b/system/Commands/Database/MigrateStatus.php @@ -63,7 +63,7 @@ class MigrateStatus extends BaseCommand /** * Namespaces to ignore when looking for migrations. * - * @var array + * @var list */ protected $ignoredNamespaces = [ 'CodeIgniter', diff --git a/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php b/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php index be9ec94ec275..5a62f8eea8c6 100644 --- a/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php +++ b/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php @@ -33,7 +33,7 @@ final class AutoRouteCollector /** * List of controllers in Defined Routes that should not be accessed via Auto-Routing. * - * @var array + * @var list */ private array $protectedControllers; diff --git a/system/Commands/Utilities/Routes/ControllerFinder.php b/system/Commands/Utilities/Routes/ControllerFinder.php index a8912aa07b13..f11076cf5fff 100644 --- a/system/Commands/Utilities/Routes/ControllerFinder.php +++ b/system/Commands/Utilities/Routes/ControllerFinder.php @@ -38,7 +38,7 @@ public function __construct(string $namespace) } /** - * @return array + * @return list */ public function find(): array { diff --git a/system/Common.php b/system/Common.php index 2b09522e0b56..093943effb47 100644 --- a/system/Common.php +++ b/system/Common.php @@ -236,8 +236,8 @@ function cookie(string $name, string $value = '', array $options = []): Cookie /** * Fetches the global `CookieStore` instance held by `Response`. * - * @param array $cookies If `getGlobal` is false, this is passed to CookieStore's constructor - * @param bool $getGlobal If false, creates a new instance of CookieStore + * @param list $cookies If `getGlobal` is false, this is passed to CookieStore's constructor + * @param bool $getGlobal If false, creates a new instance of CookieStore */ function cookies(array $cookies = [], bool $getGlobal = true): CookieStore { diff --git a/system/Config/BaseService.php b/system/Config/BaseService.php index 1c80c80d77c6..835145eee460 100644 --- a/system/Config/BaseService.php +++ b/system/Config/BaseService.php @@ -170,7 +170,7 @@ class BaseService /** * A cache of the names of services classes found. * - * @var array + * @var list */ private static array $serviceNames = []; diff --git a/system/Config/View.php b/system/Config/View.php index f527854813d6..403d933be5b8 100644 --- a/system/Config/View.php +++ b/system/Config/View.php @@ -51,8 +51,8 @@ class View extends BaseConfig * * @psalm-suppress UndefinedDocblockClass * - * @var array|callable|string> - * @phpstan-var array|parser_callable_string|parser_callable> + * @var array|string> + * @phpstan-var array|parser_callable_string|parser_callable> */ public $plugins = []; @@ -89,7 +89,7 @@ class View extends BaseConfig /** * Built-in View plugins. * - * @var array|callable|string> + * @var array|string> * @phpstan-var array|parser_callable_string|parser_callable> */ protected $corePlugins = [ @@ -112,7 +112,7 @@ class View extends BaseConfig * * All classes must implement CodeIgniter\View\ViewDecoratorInterface * - * @var array> + * @var list> */ public array $decorators = []; diff --git a/system/Cookie/CookieStore.php b/system/Cookie/CookieStore.php index 99c1dd9fff66..715c1939685f 100644 --- a/system/Cookie/CookieStore.php +++ b/system/Cookie/CookieStore.php @@ -35,7 +35,7 @@ class CookieStore implements Countable, IteratorAggregate /** * Creates a CookieStore from an array of `Set-Cookie` headers. * - * @param array $headers + * @param list $headers * * @return static * @@ -44,7 +44,7 @@ class CookieStore implements Countable, IteratorAggregate public static function fromCookieHeaders(array $headers, bool $raw = false) { /** - * @var array $cookies + * @var list $cookies */ $cookies = array_filter(array_map(static function (string $header) use ($raw) { try { @@ -60,7 +60,7 @@ public static function fromCookieHeaders(array $headers, bool $raw = false) } /** - * @param array $cookies + * @param array $cookies * * @throws CookieException */ diff --git a/system/Cookie/Exceptions/CookieException.php b/system/Cookie/Exceptions/CookieException.php index 0b18d9eb8356..af466061155b 100644 --- a/system/Cookie/Exceptions/CookieException.php +++ b/system/Cookie/Exceptions/CookieException.php @@ -104,7 +104,7 @@ public static function forInvalidSameSiteNone() /** * Thrown when the `CookieStore` class is filled with invalid Cookie objects. * - * @param array $data + * @param list $data * * @return static */ @@ -116,7 +116,7 @@ public static function forInvalidCookieInstance(array $data) /** * Thrown when the queried Cookie object does not exist in the cookie collection. * - * @param array $data + * @param list $data * * @return static */ diff --git a/system/Database/BaseBuilder.php b/system/Database/BaseBuilder.php index d6fc3aa6262c..4163355b7ce3 100644 --- a/system/Database/BaseBuilder.php +++ b/system/Database/BaseBuilder.php @@ -116,7 +116,7 @@ class BaseBuilder /** * QB UNION data * - * @var array + * @var list */ protected array $QBUnion = []; @@ -281,14 +281,14 @@ class BaseBuilder /** * Strings that determine if a string represents a literal value or a field name * - * @var array + * @var list */ protected $isLiteralStr = []; /** * RegExp used to get operators * - * @var array + * @var list */ protected $pregOperators = []; @@ -1763,7 +1763,7 @@ public function getWhere($where = null, ?int $limit = null, ?int $offset = 0, bo * * @param '_deleteBatch'|'_insertBatch'|'_updateBatch'|'_upsertBatch' $renderMethod * - * @return array|false|int Number of rows inserted or FALSE on failure, SQL array when testMode + * @return false|int|list Number of rows inserted or FALSE on failure, SQL array when testMode * * @throws DatabaseException */ @@ -1900,7 +1900,7 @@ public function getCompiledUpsert() * * @param array|object|null $set * - * @return array|false|int Number of affected rows or FALSE on failure, SQL array when testMode + * @return false|int|list Number of affected rows or FALSE on failure, SQL array when testMode * * @throws DatabaseException */ @@ -1936,7 +1936,7 @@ public function upsert($set = null, ?bool $escape = null) * * @param array|object|null $set a dataset * - * @return array|false|int Number of affected rows or FALSE on failure, SQL array when testMode + * @return false|int|list Number of affected rows or FALSE on failure, SQL array when testMode * * @throws DatabaseException */ @@ -2021,9 +2021,9 @@ private function setAlias(string $alias): BaseBuilder /** * Sets update fields for upsert, update * - * @param array|array|string $set - * @param bool $addToDefault adds update fields to the default ones - * @param array|null $ignore ignores items in set + * @param list|list|string $set + * @param bool $addToDefault adds update fields to the default ones + * @param array|null $ignore ignores items in set * * @return $this */ @@ -2165,7 +2165,7 @@ protected function formatValues(array $values): array * * @param array|object|null $set a dataset * - * @return array|false|int Number of rows inserted or FALSE on failure, SQL array when testMode + * @return false|int|list Number of rows inserted or FALSE on failure, SQL array when testMode */ public function insertBatch($set = null, ?bool $escape = null, int $batchSize = 100) { @@ -2531,7 +2531,7 @@ protected function validateUpdate(): bool * @param array|object|null $set a dataset * @param array|RawSql|string|null $constraints * - * @return array|false|int Number of rows affected or FALSE on failure, SQL array when testMode + * @return false|int|list Number of rows affected or FALSE on failure, SQL array when testMode */ public function updateBatch($set = null, $constraints = null, int $batchSize = 100) { @@ -2793,7 +2793,7 @@ public function delete($where = '', ?int $limit = null, bool $resetData = true) * @param array|object|null $set a dataset * @param array|RawSql|null $constraints * - * @return array|false|int Number of rows affected or FALSE on failure, SQL array when testMode + * @return false|int|list Number of rows affected or FALSE on failure, SQL array when testMode */ public function deleteBatch($set = null, $constraints = null, int $batchSize = 100) { diff --git a/system/Database/BaseConnection.php b/system/Database/BaseConnection.php index 3ca7c4988ca7..9b131152210b 100644 --- a/system/Database/BaseConnection.php +++ b/system/Database/BaseConnection.php @@ -1279,10 +1279,10 @@ public function escape($str) /** * Escape String * - * @param array|string $str Input string - * @param bool $like Whether or not the string will be used in a LIKE condition + * @param list|string $str Input string + * @param bool $like Whether or not the string will be used in a LIKE condition * - * @return array|string + * @return list|string */ public function escapeString($str, bool $like = false) { @@ -1322,9 +1322,9 @@ public function escapeString($str, bool $like = false) * Calls the individual driver for platform * specific escaping for LIKE conditions * - * @param array|string $str + * @param list|string $str * - * @return array|string + * @return list|string */ public function escapeLikeString($str) { @@ -1517,7 +1517,7 @@ public function fieldExists(string $fieldName, string $tableName): bool /** * Returns an object with field data * - * @return array + * @return list */ public function getFieldData(string $table) { diff --git a/system/Database/BaseResult.php b/system/Database/BaseResult.php index b4d8c6a43fe5..8a624029b3a2 100644 --- a/system/Database/BaseResult.php +++ b/system/Database/BaseResult.php @@ -41,14 +41,14 @@ abstract class BaseResult implements ResultInterface /** * Result Array * - * @var array + * @var list */ public $resultArray = []; /** * Result Object * - * @var array + * @var list */ public $resultObject = []; @@ -185,7 +185,7 @@ public function getResultArray(): array return []; } - if ($this->resultObject) { + if ($this->resultObject !== []) { foreach ($this->resultObject as $row) { $this->resultArray[] = (array) $row; } @@ -225,7 +225,7 @@ public function getResultObject(): array return []; } - if ($this->resultArray) { + if ($this->resultArray !== []) { foreach ($this->resultArray as $row) { $this->resultObject[] = (object) $row; } diff --git a/system/Database/Forge.php b/system/Database/Forge.php index c2659a88ce0e..6226255be210 100644 --- a/system/Database/Forge.php +++ b/system/Database/Forge.php @@ -39,7 +39,7 @@ class Forge /** * List of keys. * - * @var list, keyName?: string}> + * @var list, keyName?: string}> */ protected $keys = []; @@ -53,7 +53,7 @@ class Forge /** * Primary keys. * - * @var array{fields?: array, keyName?: string} + * @var array{fields?: list, keyName?: string} */ protected $primaryKeys = []; @@ -399,8 +399,8 @@ public function addField($fields) /** * Add Foreign Key * - * @param array|string $fieldName - * @param array|string $tableField + * @param list|string $fieldName + * @param list|string $tableField * * @throws DatabaseException */ diff --git a/system/Database/MySQLi/Connection.php b/system/Database/MySQLi/Connection.php index 74d296c70036..03aab408398a 100644 --- a/system/Database/MySQLi/Connection.php +++ b/system/Database/MySQLi/Connection.php @@ -355,9 +355,9 @@ protected function _escapeString(string $str): string * additional "ESCAPE x" parameter for specifying the escape character * in "LIKE" strings, and this handles those directly with a backslash. * - * @param array|string $str Input string + * @param list|string $str Input string * - * @return array|string + * @return list|string */ public function escapeLikeStringDirect($str) { @@ -411,7 +411,7 @@ protected function _listColumns(string $table = ''): string /** * Returns an array of objects with field data * - * @return array + * @return list * * @throws DatabaseException */ @@ -443,7 +443,7 @@ protected function _fieldData(string $table): array /** * Returns an array of objects with index data * - * @return array + * @return list * * @throws DatabaseException * @throws LogicException @@ -489,7 +489,7 @@ protected function _indexData(string $table): array /** * Returns an array of objects with Foreign key data * - * @return array + * @return list * * @throws DatabaseException */ diff --git a/system/Database/OCI8/Connection.php b/system/Database/OCI8/Connection.php index beb3ba00c039..fc7920e2a8ff 100644 --- a/system/Database/OCI8/Connection.php +++ b/system/Database/OCI8/Connection.php @@ -281,7 +281,7 @@ protected function _listColumns(string $table = ''): string /** * Returns an array of objects with field data * - * @return array + * @return list * * @throws DatabaseException */ @@ -325,7 +325,7 @@ protected function _fieldData(string $table): array /** * Returns an array of objects with index data * - * @return array + * @return list * * @throws DatabaseException */ @@ -374,7 +374,7 @@ protected function _indexData(string $table): array /** * Returns an array of objects with Foreign key data * - * @return array + * @return list * * @throws DatabaseException */ @@ -578,7 +578,7 @@ public function insertID(): int $indexs = $this->getIndexData($this->lastInsertedTableName); $fieldDatas = $this->getFieldData($this->lastInsertedTableName); - if (! $indexs || ! $fieldDatas) { + if ($indexs === [] || $fieldDatas === []) { return 0; } diff --git a/system/Database/Postgre/Connection.php b/system/Database/Postgre/Connection.php index d05d564812a2..0f761db197b9 100644 --- a/system/Database/Postgre/Connection.php +++ b/system/Database/Postgre/Connection.php @@ -294,7 +294,7 @@ protected function _listColumns(string $table = ''): string /** * Returns an array of objects with field data * - * @return array + * @return list * * @throws DatabaseException */ @@ -329,7 +329,7 @@ protected function _fieldData(string $table): array /** * Returns an array of objects with index data * - * @return array + * @return list * * @throws DatabaseException */ @@ -368,7 +368,7 @@ protected function _indexData(string $table): array /** * Returns an array of objects with Foreign key data * - * @return array + * @return list * * @throws DatabaseException */ diff --git a/system/Database/SQLSRV/Connection.php b/system/Database/SQLSRV/Connection.php index f6ba6fffaba6..bc3e036078c9 100755 --- a/system/Database/SQLSRV/Connection.php +++ b/system/Database/SQLSRV/Connection.php @@ -77,7 +77,7 @@ class Connection extends BaseConnection * * Identifiers that must NOT be escaped. * - * @var array + * @var list */ protected $_reserved_identifiers = ['*']; @@ -231,7 +231,7 @@ protected function _listColumns(string $table = ''): string /** * Returns an array of objects with index data * - * @return array + * @return list * * @throws DatabaseException */ @@ -269,7 +269,7 @@ protected function _indexData(string $table): array * Returns an array of objects with Foreign key data * referenced_object_id parent_object_id * - * @return array + * @return list * * @throws DatabaseException */ @@ -335,7 +335,7 @@ protected function _enableForeignKeyChecks() /** * Returns an array of objects with field data * - * @return array + * @return list * * @throws DatabaseException */ diff --git a/system/Database/SQLite3/Connection.php b/system/Database/SQLite3/Connection.php index 1e38ee5d3ae7..be4ebc25f0ca 100644 --- a/system/Database/SQLite3/Connection.php +++ b/system/Database/SQLite3/Connection.php @@ -248,7 +248,7 @@ public function getFieldNames(string $table) /** * Returns an array of objects with field data * - * @return array + * @return list * * @throws DatabaseException */ @@ -286,7 +286,7 @@ protected function _fieldData(string $table): array /** * Returns an array of objects with index data * - * @return array + * @return list * * @throws DatabaseException */ @@ -343,7 +343,7 @@ protected function _indexData(string $table): array /** * Returns an array of objects with Foreign key data * - * @return array + * @return list */ protected function _foreignKeyData(string $table): array { diff --git a/system/Debug/Toolbar.php b/system/Debug/Toolbar.php index 7e8a73fadb68..8f9ab2a6d461 100644 --- a/system/Debug/Toolbar.php +++ b/system/Debug/Toolbar.php @@ -43,7 +43,7 @@ class Toolbar /** * Collectors to be used and displayed. * - * @var array + * @var list */ protected $collectors = []; diff --git a/system/Email/Email.php b/system/Email/Email.php index bac2b5682d05..8e8c0b77762d 100644 --- a/system/Email/Email.php +++ b/system/Email/Email.php @@ -296,7 +296,7 @@ class Email /** * Raw debug messages * - * @var array + * @var list */ private array $debugMessageRaw = []; diff --git a/system/Events/Events.php b/system/Events/Events.php index c8f65e9cb360..f756fa0ec0c4 100644 --- a/system/Events/Events.php +++ b/system/Events/Events.php @@ -52,14 +52,14 @@ class Events * Stores information about the events * for display in the debug toolbar. * - * @var array> + * @var list> */ protected static $performanceLog = []; /** * A list of found files. * - * @var array + * @var list */ protected static $files = []; @@ -253,7 +253,7 @@ public static function setFiles(array $files) /** * Returns the files that were found/loaded during this request. * - * @return array + * @return list */ public static function getFiles() { @@ -275,7 +275,7 @@ public static function simulate(bool $choice = true) /** * Getter for the performance log records. * - * @return array> + * @return list> */ public static function getPerformanceLogs() { diff --git a/system/Files/FileCollection.php b/system/Files/FileCollection.php index ad24d708ea00..8e608e3ab311 100644 --- a/system/Files/FileCollection.php +++ b/system/Files/FileCollection.php @@ -32,7 +32,7 @@ class FileCollection implements Countable, IteratorAggregate /** * The current list of file paths. * - * @var array + * @var list */ protected $files = []; @@ -75,9 +75,9 @@ final protected static function resolveFile(string $file): string /** * Removes files that are not part of the given directory (recursive). * - * @param array $files + * @param list $files * - * @return array + * @return list */ final protected static function filterFiles(array $files, string $directory): array { @@ -89,10 +89,10 @@ final protected static function filterFiles(array $files, string $directory): ar /** * Returns any files whose `basename` matches the given pattern. * - * @param array $files - * @param string $pattern Regex or pseudo-regex string + * @param list $files + * @param string $pattern Regex or pseudo-regex string * - * @return array + * @return list */ final protected static function matchFiles(array $files, string $pattern): array { @@ -116,7 +116,7 @@ final protected static function matchFiles(array $files, string $pattern): array /** * Loads the Filesystem helper and adds any initial files. * - * @param array $files + * @param list $files */ public function __construct(array $files = []) { @@ -136,7 +136,7 @@ protected function define(): void /** * Optimizes and returns the current file list. * - * @return array + * @return list */ public function get(): array { @@ -150,7 +150,7 @@ public function get(): array * Sets the file list directly, files are still subject to verification. * This works as a "reset" method with []. * - * @param array $files The new file list to use + * @param list $files The new file list to use * * @return $this */ @@ -164,7 +164,7 @@ public function set(array $files) /** * Adds an array/single file or directory to the list. * - * @param array|string $paths + * @param list|string $paths * * @return $this */ @@ -199,7 +199,7 @@ public function add($paths, bool $recursive = true) /** * Verifies and adds files to the list. * - * @param array $files + * @param list $files * * @return $this */ @@ -227,7 +227,7 @@ public function addFile(string $file) /** * Removes files from the list. * - * @param array $files + * @param list $files * * @return $this */ @@ -256,7 +256,7 @@ public function removeFile(string $file) * Verifies and adds files from each * directory to the list. * - * @param array $directories + * @param list $directories * * @return $this */ diff --git a/system/HTTP/Files/FileCollection.php b/system/HTTP/Files/FileCollection.php index 9edf1be9c16e..2ce05e2c3a4c 100644 --- a/system/HTTP/Files/FileCollection.php +++ b/system/HTTP/Files/FileCollection.php @@ -163,7 +163,7 @@ protected function populateFiles() * Given a file array, will create UploadedFile instances. Will * loop over an array and create objects for each. * - * @return array|UploadedFile + * @return list|UploadedFile */ protected function createFileObject(array $array) { diff --git a/system/HTTP/ResponseInterface.php b/system/HTTP/ResponseInterface.php index 0f76b000d5c2..4455bc648ee0 100644 --- a/system/HTTP/ResponseInterface.php +++ b/system/HTTP/ResponseInterface.php @@ -350,7 +350,7 @@ public function hasCookie(string $name, ?string $value = null, string $prefix = /** * Returns the cookie * - * @return array|Cookie|null + * @return array|Cookie|null */ public function getCookie(?string $name = null, string $prefix = ''); @@ -364,7 +364,7 @@ public function deleteCookie(string $name = '', string $domain = '', string $pat /** * Returns all cookies currently set. * - * @return array + * @return array */ public function getCookies(); diff --git a/system/HTTP/ResponseTrait.php b/system/HTTP/ResponseTrait.php index 8a6de1f9dd9c..c272887d4fec 100644 --- a/system/HTTP/ResponseTrait.php +++ b/system/HTTP/ResponseTrait.php @@ -644,7 +644,7 @@ public function hasCookie(string $name, ?string $value = null, string $prefix = * @param string $prefix Cookie prefix. * '': the default prefix * - * @return array|Cookie|null + * @return array|Cookie|null */ public function getCookie(?string $name = null, string $prefix = '') { @@ -709,7 +709,7 @@ public function deleteCookie(string $name = '', string $domain = '', string $pat /** * Returns all cookies currently set. * - * @return array + * @return array */ public function getCookies() { diff --git a/system/Helpers/form_helper.php b/system/Helpers/form_helper.php index a9c348c82f23..97ac2c2a8c5c 100644 --- a/system/Helpers/form_helper.php +++ b/system/Helpers/form_helper.php @@ -544,11 +544,11 @@ function form_close(string $extra = ''): string * Grabs a value from the POST array for the specified field so you can * re-populate an input field or textarea * - * @param string $field Field name - * @param array|string $default Default value - * @param bool $htmlEscape Whether to escape HTML special characters or not + * @param string $field Field name + * @param list|string $default Default value + * @param bool $htmlEscape Whether to escape HTML special characters or not * - * @return array|string + * @return list|string */ function set_value(string $field, $default = '', bool $htmlEscape = true) { diff --git a/system/Language/Language.php b/system/Language/Language.php index c43c7a0d5c12..6d4105861fd7 100644 --- a/system/Language/Language.php +++ b/system/Language/Language.php @@ -173,8 +173,8 @@ protected function parseLine(string $line, string $locale): array /** * Advanced message formatting. * - * @param array|string $message - * @param array $args + * @param array|string $message + * @param list $args * * @return array|string */ diff --git a/system/Log/Handlers/ErrorlogHandler.php b/system/Log/Handlers/ErrorlogHandler.php index f56b7a8e9a43..3ff5ebf669d1 100644 --- a/system/Log/Handlers/ErrorlogHandler.php +++ b/system/Log/Handlers/ErrorlogHandler.php @@ -43,7 +43,7 @@ class ErrorlogHandler extends BaseHandler /** * Constructor. * - * @param array $config + * @param list $config */ public function __construct(array $config = []) { diff --git a/system/Model.php b/system/Model.php index abc8e725ece9..69f84c9e19c7 100644 --- a/system/Model.php +++ b/system/Model.php @@ -137,7 +137,7 @@ class Model extends BaseModel /** * Builder method names that should not be used in the Model. * - * @var array method name + * @var list method name */ private array $builderMethodsNotAvailable = [ 'getCompiledInsert', @@ -402,7 +402,7 @@ protected function doUpdate($id = null, $row = null): bool * @param int $batchSize The size of the batch to run * @param bool $returnSQL True means SQL is returned, false will execute the query * - * @return array|false|int Number of rows affected or FALSE on failure, SQL array when testMode + * @return false|int|list Number of rows affected or FALSE on failure, SQL array when testMode * * @throws DatabaseException */ diff --git a/system/Publisher/Publisher.php b/system/Publisher/Publisher.php index 501329e36a6b..a143dac5828a 100644 --- a/system/Publisher/Publisher.php +++ b/system/Publisher/Publisher.php @@ -40,7 +40,7 @@ class Publisher extends FileCollection /** * Array of discovered Publishers. * - * @var array|null> + * @var array|null> */ private static array $discovered = []; @@ -60,7 +60,7 @@ class Publisher extends FileCollection /** * List of file published curing the last write operation. * - * @var array + * @var list */ private array $published = []; @@ -95,7 +95,7 @@ class Publisher extends FileCollection /** * Discovers and returns all Publishers in the specified namespace directory. * - * @return array + * @return list */ final public static function discover(string $directory = 'Publishers'): array { @@ -252,7 +252,7 @@ final public function getErrors(): array /** * Returns the files published by the last write operation. * - * @return array + * @return list */ final public function getPublished(): array { @@ -266,7 +266,7 @@ final public function getPublished(): array /** * Verifies and adds paths to the list. * - * @param array $paths + * @param list $paths * * @return $this */ @@ -294,7 +294,7 @@ final public function addPath(string $path, bool $recursive = true) /** * Downloads and stages files from an array of URIs. * - * @param array $uris + * @param list $uris * * @return $this */ diff --git a/system/Router/AutoRouterImproved.php b/system/Router/AutoRouterImproved.php index 8c418df1583d..a21814fca47e 100644 --- a/system/Router/AutoRouterImproved.php +++ b/system/Router/AutoRouterImproved.php @@ -27,7 +27,7 @@ final class AutoRouterImproved implements AutoRouterInterface /** * List of controllers in Defined Routes that should not be accessed via this Auto-Routing. * - * @var array + * @var list */ private array $protectedControllers; @@ -100,8 +100,8 @@ final class AutoRouterImproved implements AutoRouterInterface private ?int $paramPos = null; /** - * @param array $protectedControllers - * @param string $defaultController Short classname + * @param list $protectedControllers + * @param string $defaultController Short classname * * @deprecated $httpVerb is deprecated. No longer used. */ diff --git a/system/Router/RouteCollection.php b/system/Router/RouteCollection.php index 11fe54157160..2adb0ed98638 100644 --- a/system/Router/RouteCollection.php +++ b/system/Router/RouteCollection.php @@ -1596,7 +1596,7 @@ private function getMethodParams(string $from): string * Compares the subdomain(s) passed in against the current subdomain * on this page request. * - * @param array|string $subdomains + * @param list|string $subdomains */ private function checkSubdomains($subdomains): bool { diff --git a/system/Router/Router.php b/system/Router/Router.php index 34d172360c3d..8f03b4dcaad2 100644 --- a/system/Router/Router.php +++ b/system/Router/Router.php @@ -114,7 +114,7 @@ class Router implements RouterInterface * The filter info from Route Collection * if the matched route should be filtered. * - * @var array + * @var list */ protected $filtersInfo = []; @@ -228,7 +228,7 @@ public function getFilter() /** * Returns the filter info for the matched route, if any. * - * @return array + * @return list */ public function getFilters(): array { diff --git a/system/Test/FilterTestTrait.php b/system/Test/FilterTestTrait.php index 2ec0563595db..9b511e6a1d4b 100644 --- a/system/Test/FilterTestTrait.php +++ b/system/Test/FilterTestTrait.php @@ -208,7 +208,7 @@ protected function getFilterCaller($filter, string $position): Closure * @param string $route The route to test * @param string $position "before" or "after" * - * @return array The filter aliases + * @return list The filter aliases */ protected function getFiltersForRoute(string $route, string $position): array { diff --git a/system/Test/Mock/MockCache.php b/system/Test/Mock/MockCache.php index 30bbd18f8be6..8349b741bfc3 100644 --- a/system/Test/Mock/MockCache.php +++ b/system/Test/Mock/MockCache.php @@ -29,7 +29,7 @@ class MockCache extends BaseHandler implements CacheInterface /** * Expiration times. * - * @var ?array + * @var ?list */ protected $expirations = []; @@ -203,7 +203,7 @@ public function clean() * The information returned and the structure of the data * varies depending on the handler. * - * @return array Keys currently present in the store + * @return list Keys currently present in the store */ public function getCacheInfo() { diff --git a/system/Test/Mock/MockSession.php b/system/Test/Mock/MockSession.php index 63339788d084..5bab01ea31c2 100644 --- a/system/Test/Mock/MockSession.php +++ b/system/Test/Mock/MockSession.php @@ -26,7 +26,7 @@ class MockSession extends Session /** * Holds our "cookie" data. * - * @var array + * @var list */ public $cookies = []; diff --git a/system/Validation/Validation.php b/system/Validation/Validation.php index 4101c41ce898..af7cae093bb9 100644 --- a/system/Validation/Validation.php +++ b/system/Validation/Validation.php @@ -234,7 +234,7 @@ private static function getRegex(string $field): string * * @param array|bool|float|int|object|string|null $value The data to validate. * @param array|string $rules The validation rules. - * @param array $errors The custom error message. + * @param list $errors The custom error message. * @param string|null $dbGroup The database group to use. */ public function check($value, $rules, array $errors = [], $dbGroup = null): bool @@ -626,7 +626,7 @@ public function hasRule(string $field): bool * * @param string $group Group. * - * @return array Rule group. + * @return list Rule group. * * @throws ValidationException If group not found. */ diff --git a/system/Validation/ValidationInterface.php b/system/Validation/ValidationInterface.php index 9bde5c2a4873..323d47610a4f 100644 --- a/system/Validation/ValidationInterface.php +++ b/system/Validation/ValidationInterface.php @@ -34,7 +34,7 @@ public function run(?array $data = null, ?string $group = null, ?string $dbGroup * * @param array|bool|float|int|object|string|null $value Value to validate. * @param array|string $rules - * @param array $errors + * @param list $errors * @param string|null $dbGroup The database group to use. * * @return bool True if valid, else false. @@ -84,7 +84,7 @@ public function hasRule(string $field): bool; * * @param string $group Group. * - * @return array Rule group. + * @return list Rule group. */ public function getRuleGroup(string $group): array; diff --git a/system/View/Parser.php b/system/View/Parser.php index 4db85195addd..40ced2af8967 100644 --- a/system/View/Parser.php +++ b/system/View/Parser.php @@ -63,7 +63,7 @@ class Parser extends View /** * Stores any plugins registered at run-time. * - * @var array|callable|string> + * @var array|string> * @phpstan-var array|parser_callable_string|parser_callable> */ protected $plugins = []; diff --git a/system/View/View.php b/system/View/View.php index ad5c38de9b2f..4e855c6693c3 100644 --- a/system/View/View.php +++ b/system/View/View.php @@ -137,7 +137,7 @@ class View implements RendererInterface * The name of the current section being rendered, * if any. * - * @var array + * @var list */ protected $sectionStack = []; diff --git a/tests/system/Helpers/FilesystemHelperTest.php b/tests/system/Helpers/FilesystemHelperTest.php index 7f7c15dc323d..403802b15f34 100644 --- a/tests/system/Helpers/FilesystemHelperTest.php +++ b/tests/system/Helpers/FilesystemHelperTest.php @@ -23,7 +23,7 @@ final class FilesystemHelperTest extends CIUnitTestCase { /** - * @var array>|array>>|array>|array|array|mixed + * @var array>>|array>|array>|array|array|mixed */ private array $structure; diff --git a/tests/system/Validation/ValidationTest.php b/tests/system/Validation/ValidationTest.php index 6d3214549082..c78e5689bdb1 100644 --- a/tests/system/Validation/ValidationTest.php +++ b/tests/system/Validation/ValidationTest.php @@ -640,8 +640,8 @@ public function testRunWithCustomErrorsAndAsteriskField(): void /** * @dataProvider provideRulesSetup * - * @param array|string $rules - * @param string $expected + * @param list|string $rules + * @param string $expected */ public function testRulesSetup($rules, $expected, array $errors = []): void { diff --git a/utils/Rector/PassStrictParameterToFunctionParameterRector.php b/utils/Rector/PassStrictParameterToFunctionParameterRector.php index 9e68433006ca..b7fc9b9eaee8 100644 --- a/utils/Rector/PassStrictParameterToFunctionParameterRector.php +++ b/utils/Rector/PassStrictParameterToFunctionParameterRector.php @@ -44,7 +44,7 @@ public function getRuleDefinition(): RuleDefinition } /** - * @return array + * @return list */ public function getNodeTypes(): array { diff --git a/utils/Rector/RemoveErrorSuppressInTryCatchStmtsRector.php b/utils/Rector/RemoveErrorSuppressInTryCatchStmtsRector.php index 316a97ac178e..feb697774f6f 100644 --- a/utils/Rector/RemoveErrorSuppressInTryCatchStmtsRector.php +++ b/utils/Rector/RemoveErrorSuppressInTryCatchStmtsRector.php @@ -44,7 +44,7 @@ public function getRuleDefinition(): RuleDefinition } /** - * @return array + * @return list */ public function getNodeTypes(): array { diff --git a/utils/Rector/UnderscoreToCamelCaseVariableNameRector.php b/utils/Rector/UnderscoreToCamelCaseVariableNameRector.php index ccfa751e3654..ee52be9d4366 100644 --- a/utils/Rector/UnderscoreToCamelCaseVariableNameRector.php +++ b/utils/Rector/UnderscoreToCamelCaseVariableNameRector.php @@ -79,7 +79,7 @@ public function run($aB) } /** - * @return array + * @return list */ public function getNodeTypes(): array { From aa1775cbce3d32bbfece49c58f015ca0198abd1b Mon Sep 17 00:00:00 2001 From: kenjis Date: Mon, 26 Feb 2024 09:20:36 +0900 Subject: [PATCH 009/139] docs: add @psalm-suppress UndefinedDocblockClass --- system/Config/View.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/system/Config/View.php b/system/Config/View.php index 403d933be5b8..ea1442e5bc62 100644 --- a/system/Config/View.php +++ b/system/Config/View.php @@ -59,6 +59,8 @@ class View extends BaseConfig /** * Built-in View filters. * + * @psalm-suppress UndefinedDocblockClass + * * @var array * @phpstan-var array */ @@ -89,6 +91,8 @@ class View extends BaseConfig /** * Built-in View plugins. * + * @psalm-suppress UndefinedDocblockClass + * * @var array|string> * @phpstan-var array|parser_callable_string|parser_callable> */ From c5e8b3ef76d8bbc70069d4672ad712462fd06054 Mon Sep 17 00:00:00 2001 From: kenjis Date: Mon, 26 Feb 2024 09:28:18 +0900 Subject: [PATCH 010/139] chore: update psalm-baseline.xml vendor/bin/psalm --set-baseline=psalm-baseline.xml --- psalm-baseline.xml | 137 +++++++++++++++------------------------------ 1 file changed, 45 insertions(+), 92 deletions(-) diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 129aefd272a2..8c4f4c696912 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -1,20 +1,20 @@ - + |parser_callable_string|parser_callable>]]> |parser_callable_string|parser_callable>]]> ]]> - public $filters = []; - public $plugins = []; - public $plugins = []; + + + - Memcache - Memcache - Memcache + + + memcached]]> @@ -23,67 +23,20 @@ memcached]]> memcached]]> memcached]]> - Memcache|Memcached + - $routeWithoutController - $routeWithoutController + + - |parser_callable_string|parser_callable>]]> - |parser_callable_string|parser_callable>]]> + |parser_callable_string|parser_callable>]]> + |parser_callable_string|parser_callable>]]> ]]> - '\abs', - 'capitalize' => '\CodeIgniter\View\Filters::capitalize', - 'date' => '\CodeIgniter\View\Filters::date', - 'date_modify' => '\CodeIgniter\View\Filters::date_modify', - 'default' => '\CodeIgniter\View\Filters::default', - 'esc' => '\CodeIgniter\View\Filters::esc', - 'excerpt' => '\CodeIgniter\View\Filters::excerpt', - 'highlight' => '\CodeIgniter\View\Filters::highlight', - 'highlight_code' => '\CodeIgniter\View\Filters::highlight_code', - 'limit_words' => '\CodeIgniter\View\Filters::limit_words', - 'limit_chars' => '\CodeIgniter\View\Filters::limit_chars', - 'local_currency' => '\CodeIgniter\View\Filters::local_currency', - 'local_number' => '\CodeIgniter\View\Filters::local_number', - 'lower' => '\strtolower', - 'nl2br' => '\CodeIgniter\View\Filters::nl2br', - 'number_format' => '\number_format', - 'prose' => '\CodeIgniter\View\Filters::prose', - 'round' => '\CodeIgniter\View\Filters::round', - 'strip_tags' => '\strip_tags', - 'title' => '\CodeIgniter\View\Filters::title', - 'upper' => '\strtoupper', - ];]]> - '\CodeIgniter\View\Plugins::cspScriptNonce', - 'csp_style_nonce' => '\CodeIgniter\View\Plugins::cspStyleNonce', - 'current_url' => '\CodeIgniter\View\Plugins::currentURL', - 'previous_url' => '\CodeIgniter\View\Plugins::previousURL', - 'mailto' => '\CodeIgniter\View\Plugins::mailto', - 'safe_mailto' => '\CodeIgniter\View\Plugins::safeMailto', - 'lang' => '\CodeIgniter\View\Plugins::lang', - 'validation_errors' => '\CodeIgniter\View\Plugins::validationErrors', - 'route' => '\CodeIgniter\View\Plugins::route', - 'siteURL' => '\CodeIgniter\View\Plugins::siteURL', - ];]]> - '\CodeIgniter\View\Plugins::cspScriptNonce', - 'csp_style_nonce' => '\CodeIgniter\View\Plugins::cspStyleNonce', - 'current_url' => '\CodeIgniter\View\Plugins::currentURL', - 'previous_url' => '\CodeIgniter\View\Plugins::previousURL', - 'mailto' => '\CodeIgniter\View\Plugins::mailto', - 'safe_mailto' => '\CodeIgniter\View\Plugins::safeMailto', - 'lang' => '\CodeIgniter\View\Plugins::lang', - 'validation_errors' => '\CodeIgniter\View\Plugins::validationErrors', - 'route' => '\CodeIgniter\View\Plugins::route', - 'siteURL' => '\CodeIgniter\View\Plugins::siteURL', - ];]]> @@ -93,43 +46,43 @@ - OCI_COMMIT_ON_SUCCESS - OCI_COMMIT_ON_SUCCESS - OCI_COMMIT_ON_SUCCESS - OCI_NO_AUTO_COMMIT - SQLT_CHR + + + + + - renderTimeline + - $config + - $timestamp + - $output[$name] + - $count - $count - $count + + + - #[ReturnTypeWillChange] - #[ReturnTypeWillChange] - #[ReturnTypeWillChange] + + + @@ -139,39 +92,39 @@ - |parser_callable_string|parser_callable>]]> - |parser_callable_string|parser_callable>]]> - protected $plugins = []; - protected $plugins = []; + |parser_callable_string|parser_callable>]]> + |parser_callable_string|parser_callable>]]> + + - $filters + - $routes - $routes - $routes - $routes - $routes + + + + + - $this + - $command + - UnexsistenceClass + @@ -183,14 +136,14 @@ - OCI_ASSOC - OCI_B_CURSOR - OCI_RETURN_NULLS + + + - $current[$key] + @@ -200,7 +153,7 @@ - NeverHeardOfIt + From dffb0bb89bc27810fe407cf92d34b0bce274acdc Mon Sep 17 00:00:00 2001 From: Rahmat Nazali Salimi Date: Mon, 26 Feb 2024 10:35:13 +0700 Subject: [PATCH 011/139] Fix docstring on `TestResponse.assertNotOk()` The docstring for said method seems to be copied from `assertOK()` and left unchanged. --- system/Test/TestResponse.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/Test/TestResponse.php b/system/Test/TestResponse.php index 215942d54fe9..d7bba80e9951 100644 --- a/system/Test/TestResponse.php +++ b/system/Test/TestResponse.php @@ -163,7 +163,7 @@ public function assertOK() } /** - * Asserts that the Response is considered OK. + * Asserts that the Response is considered not OK. * * @throws Exception */ From 3959a94728077a9bec0b6eac077f53ebeff69b29 Mon Sep 17 00:00:00 2001 From: kenjis Date: Mon, 26 Feb 2024 13:45:47 +0900 Subject: [PATCH 012/139] test: remove meaningless test See https://github.com/codeigniter4/CodeIgniter4/pull/8069#issuecomment-1963302623 --- tests/system/Test/TestCaseTest.php | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/tests/system/Test/TestCaseTest.php b/tests/system/Test/TestCaseTest.php index ea71ddd0ac48..483ba5463046 100644 --- a/tests/system/Test/TestCaseTest.php +++ b/tests/system/Test/TestCaseTest.php @@ -13,8 +13,6 @@ use CodeIgniter\CLI\CLI; use CodeIgniter\Events\Events; -use CodeIgniter\HTTP\Response; -use Config\App; use Tests\Support\Test\TestForReflectionHelper; /** @@ -74,31 +72,6 @@ public function testStreamFilter(): void $this->assertSame($expected, $this->getStreamFilterBuffer()); } - /** - * PHPunit emits headers before we get nominal control of - * the output stream, making header testing awkward, to say - * the least. This test is intended to make sure that this - * is happening as expected. - * - * TestCaseEmissionsTest is intended to circumvent PHPunit, - * and allow us to test our own header emissions. - */ - public function testPHPUnitHeadersEmitted(): void - { - $response = new Response(new App()); - $response->pretend(true); - - $body = 'Hello'; - $response->setBody($body); - - ob_start(); - $response->send(); - ob_end_clean(); - - $this->assertHeaderEmitted('Content-type: text/html;'); - $this->assertHeaderNotEmitted('Set-Cookie: foo=bar;'); - } - public function testCloseEnough(): void { $this->assertCloseEnough(1, 1); From 29717da4f63047d07a81393fb55427ee7f564ad4 Mon Sep 17 00:00:00 2001 From: kenjis Date: Mon, 26 Feb 2024 13:46:23 +0900 Subject: [PATCH 013/139] docs: add @internal --- system/HTTP/Response.php | 1 + 1 file changed, 1 insertion(+) diff --git a/system/HTTP/Response.php b/system/HTTP/Response.php index bc37e7418632..4bb1a19c92d6 100644 --- a/system/HTTP/Response.php +++ b/system/HTTP/Response.php @@ -176,6 +176,7 @@ public function __construct($config) * * @return $this * + * @internal For testing purposes only. * @testTag only available to test code */ public function pretend(bool $pretend = true) From 03c3ca3618acc28b4440047be0895f90daa962ba Mon Sep 17 00:00:00 2001 From: kenjis Date: Mon, 26 Feb 2024 17:15:07 +0900 Subject: [PATCH 014/139] docs: add empty lines --- user_guide_src/source/models/entities.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/user_guide_src/source/models/entities.rst b/user_guide_src/source/models/entities.rst index 6e683dcafe0b..d3443093d47e 100644 --- a/user_guide_src/source/models/entities.rst +++ b/user_guide_src/source/models/entities.rst @@ -60,9 +60,13 @@ Create the model first at **app/Models/UserModel.php** so that we can interact w .. literalinclude:: entities/002.php -The model uses the ``users`` table in the database for all of its activities. We've set the ``$allowedFields`` property +The model uses the ``users`` table in the database for all of its activities. + +We've set the ``$allowedFields`` property to include all of the fields that we want outside classes to change. The ``id``, ``created_at``, and ``updated_at`` fields -are handled automatically by the class or the database, so we don't want to change those. Finally, we've set our Entity +are handled automatically by the class or the database, so we don't want to change those. + +Finally, we've set our Entity class as the ``$returnType``. This ensures that all methods on the model that return rows from the database will return instances of our User Entity class instead of an object or array like normal. From 053929712f55742341839d6e3e6f42f3b68610a8 Mon Sep 17 00:00:00 2001 From: kenjis Date: Mon, 26 Feb 2024 17:15:38 +0900 Subject: [PATCH 015/139] docs: break long lines --- user_guide_src/source/models/entities.rst | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/user_guide_src/source/models/entities.rst b/user_guide_src/source/models/entities.rst index d3443093d47e..202e39ed7365 100644 --- a/user_guide_src/source/models/entities.rst +++ b/user_guide_src/source/models/entities.rst @@ -62,13 +62,14 @@ Create the model first at **app/Models/UserModel.php** so that we can interact w The model uses the ``users`` table in the database for all of its activities. -We've set the ``$allowedFields`` property -to include all of the fields that we want outside classes to change. The ``id``, ``created_at``, and ``updated_at`` fields -are handled automatically by the class or the database, so we don't want to change those. - -Finally, we've set our Entity -class as the ``$returnType``. This ensures that all methods on the model that return rows from the database will return -instances of our User Entity class instead of an object or array like normal. +We've set the ``$allowedFields`` property to include all of the fields that we +want outside classes to change. The ``id``, ``created_at``, and ``updated_at`` +fields are handled automatically by the class or the database, so we don't want +to change those. + +Finally, we've set our Entity class as the ``$returnType``. This ensures that all +methods on the model that return rows from the database will return instances of +our User Entity class instead of an object or array like normal. Working with the Entity Class ============================= From 25fb054fa2fd55a6db9be779789bee7469d5cf49 Mon Sep 17 00:00:00 2001 From: kenjis Date: Mon, 26 Feb 2024 17:20:05 +0900 Subject: [PATCH 016/139] docs: add description --- user_guide_src/source/models/model.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user_guide_src/source/models/model.rst b/user_guide_src/source/models/model.rst index d40c07ba6e6b..cdf32f5baeda 100644 --- a/user_guide_src/source/models/model.rst +++ b/user_guide_src/source/models/model.rst @@ -145,7 +145,7 @@ This requires either a DATETIME or INTEGER field in the database as per the mode `$dateFormat`_ setting. The default field name is ``deleted_at`` however this name can be configured to any name of your choice by using `$deletedField`_ property. -.. important:: The ``deleted_at`` field must be nullable. +.. important:: The ``deleted_at`` field in the database must be nullable. $allowedFields -------------- From 8b1e3a0e06ee899e34de2638bda40684e7d74ec8 Mon Sep 17 00:00:00 2001 From: kenjis Date: Mon, 26 Feb 2024 17:22:44 +0900 Subject: [PATCH 017/139] docs: add empty lines --- user_guide_src/source/models/model.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/user_guide_src/source/models/model.rst b/user_guide_src/source/models/model.rst index cdf32f5baeda..91d39cd6a4fe 100644 --- a/user_guide_src/source/models/model.rst +++ b/user_guide_src/source/models/model.rst @@ -124,10 +124,14 @@ $returnType ----------- The Model's CRUD methods will take a step of work away from you and automatically return -the resulting data, instead of the Result object. This setting allows you to define +the resulting data, instead of the Result object. + +This setting allows you to define the type of data that is returned. Valid values are '**array**' (the default), '**object**', or the **fully qualified name of a class** that can be used with the Result object's ``getCustomResultObject()`` -method. Using the special ``::class`` constant of the class will allow most IDEs to +method. + +Using the special ``::class`` constant of the class will allow most IDEs to auto-complete the name and allow functions like refactoring to better understand your code. .. _model-use-soft-deletes: From 16842062bddbf236b541c6accc789d3dd378b82b Mon Sep 17 00:00:00 2001 From: kenjis Date: Mon, 26 Feb 2024 17:23:23 +0900 Subject: [PATCH 018/139] docs: break long lines --- user_guide_src/source/models/model.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/user_guide_src/source/models/model.rst b/user_guide_src/source/models/model.rst index 91d39cd6a4fe..de188fa74f67 100644 --- a/user_guide_src/source/models/model.rst +++ b/user_guide_src/source/models/model.rst @@ -123,16 +123,16 @@ default value is ``true``. $returnType ----------- -The Model's CRUD methods will take a step of work away from you and automatically return -the resulting data, instead of the Result object. +The Model's CRUD methods will take a step of work away from you and automatically +return the resulting data, instead of the Result object. -This setting allows you to define -the type of data that is returned. Valid values are '**array**' (the default), '**object**', or the **fully -qualified name of a class** that can be used with the Result object's ``getCustomResultObject()`` -method. +This setting allows you to define the type of data that is returned. Valid values +are '**array**' (the default), '**object**', or the **fully qualified name of a class** +that can be used with the Result object's ``getCustomResultObject()`` method. Using the special ``::class`` constant of the class will allow most IDEs to -auto-complete the name and allow functions like refactoring to better understand your code. +auto-complete the name and allow functions like refactoring to better understand +your code. .. _model-use-soft-deletes: From 6615763349f5b1d01f1d0f752af4a7102539d5c4 Mon Sep 17 00:00:00 2001 From: kenjis Date: Mon, 26 Feb 2024 17:23:50 +0900 Subject: [PATCH 019/139] docs: fix description --- user_guide_src/source/models/model.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user_guide_src/source/models/model.rst b/user_guide_src/source/models/model.rst index de188fa74f67..41a754bc25ee 100644 --- a/user_guide_src/source/models/model.rst +++ b/user_guide_src/source/models/model.rst @@ -123,7 +123,7 @@ default value is ``true``. $returnType ----------- -The Model's CRUD methods will take a step of work away from you and automatically +The Model's **find*()** methods will take a step of work away from you and automatically return the resulting data, instead of the Result object. This setting allows you to define the type of data that is returned. Valid values From a5be00b6be4d1d8857c37e4c01c3056099ef78f4 Mon Sep 17 00:00:00 2001 From: kenjis Date: Mon, 26 Feb 2024 17:37:27 +0900 Subject: [PATCH 020/139] docs: fix misleading description and add note --- user_guide_src/source/models/entities.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/user_guide_src/source/models/entities.rst b/user_guide_src/source/models/entities.rst index 202e39ed7365..bcc0c2ec57d0 100644 --- a/user_guide_src/source/models/entities.rst +++ b/user_guide_src/source/models/entities.rst @@ -68,8 +68,12 @@ fields are handled automatically by the class or the database, so we don't want to change those. Finally, we've set our Entity class as the ``$returnType``. This ensures that all -methods on the model that return rows from the database will return instances of -our User Entity class instead of an object or array like normal. +built-in methods on the model that return rows from the database will return +instances of our User Entity class instead of an object or array like normal. + +.. note:: + Of course, if you add a custom method to your model, you must implement it + so that instances of ``$returnType`` are returned. Working with the Entity Class ============================= From 78edddf62c1c0aeea84a76cc5d8195aa37cfa9cd Mon Sep 17 00:00:00 2001 From: Melroy van den Berg Date: Tue, 27 Feb 2024 02:48:06 +0100 Subject: [PATCH 021/139] docs: Fix typo in Toolbar.php --- app/Config/Toolbar.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Config/Toolbar.php b/app/Config/Toolbar.php index 2860f74d3d9c..96cd1da75826 100644 --- a/app/Config/Toolbar.php +++ b/app/Config/Toolbar.php @@ -49,7 +49,7 @@ class Toolbar extends BaseConfig * Collect Var Data * -------------------------------------------------------------------------- * - * If set to false var data from the views will not be colleted. Useful to + * If set to false var data from the views will not be collected. Useful to * avoid high memory usage when there are lots of data passed to the view. * * @var bool From e60466dabc6767aeaa6b2db7233cc64faec51017 Mon Sep 17 00:00:00 2001 From: kenjis Date: Wed, 28 Feb 2024 06:21:07 +0900 Subject: [PATCH 022/139] fix: ErrorException is thrown if getimagesize() returns false ErrorException Trying to access array offset on value of type bool --- system/Validation/FileRules.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/system/Validation/FileRules.php b/system/Validation/FileRules.php index ce0ed8140d42..d09d6600291c 100644 --- a/system/Validation/FileRules.php +++ b/system/Validation/FileRules.php @@ -242,7 +242,13 @@ public function max_dims(?string $blank, string $params): bool $allowedHeight = $params[1] ?? 0; // Get uploaded image size - $info = getimagesize($file->getTempName()); + $info = getimagesize($file->getTempName()); + + if ($info === false) { + // Cannot get the image size. + return false; + } + $fileWidth = $info[0]; $fileHeight = $info[1]; From 9da0f4fc6d78d2df0c2981f529966b57fca4aa05 Mon Sep 17 00:00:00 2001 From: ping-yee <611077101@mail.nknu.edu.tw> Date: Wed, 28 Feb 2024 07:28:29 +0800 Subject: [PATCH 023/139] test: remove the time depandency. --- tests/_support/Log/Handlers/TestHandler.php | 10 ++- tests/system/Log/LoggerTest.php | 76 ++++++++++++++++----- 2 files changed, 67 insertions(+), 19 deletions(-) diff --git a/tests/_support/Log/Handlers/TestHandler.php b/tests/_support/Log/Handlers/TestHandler.php index 82c893e271e9..2bb2e3e7636e 100644 --- a/tests/_support/Log/Handlers/TestHandler.php +++ b/tests/_support/Log/Handlers/TestHandler.php @@ -11,6 +11,8 @@ namespace Tests\Support\Log\Handlers; +use CodeIgniter\I18n\Time; + /** * Class TestHandler * @@ -35,8 +37,10 @@ public function __construct(array $config) { parent::__construct($config); + Time::setTestNow('2023-11-25 12:00:00'); + $this->handles = $config['handles'] ?? []; - $this->destination = $this->path . 'log-' . date('Y-m-d') . '.' . $this->fileExtension; + $this->destination = $this->path . 'log-' . Time::now()->format('Y-m-d') . '.' . $this->fileExtension; self::$logs = []; } @@ -52,7 +56,9 @@ public function __construct(array $config) */ public function handle($level, $message): bool { - $date = date($this->dateFormat); + Time::setTestNow('2023-11-25 12:00:00'); + + $date = Time::now()->format('Y-m-d'); self::$logs[] = strtoupper($level) . ' - ' . $date . ' --> ' . $message; diff --git a/tests/system/Log/LoggerTest.php b/tests/system/Log/LoggerTest.php index 43dbc0e71e67..47f339474e18 100644 --- a/tests/system/Log/LoggerTest.php +++ b/tests/system/Log/LoggerTest.php @@ -26,6 +26,14 @@ */ final class LoggerTest extends CIUnitTestCase { + protected function tearDown(): void + { + parent::tearDown(); + + // Reset the current time. + Time::setTestNow(); + } + public function testThrowsExceptionWithBadHandlerSettings(): void { $config = new LoggerConfig(); @@ -64,7 +72,9 @@ public function testLogActuallyLogs(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message'; + Time::setTestNow('2023-11-25 12:00:00'); + + $expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message'; $logger->log('debug', 'Test message'); $logs = TestHandler::getLogs(); @@ -94,7 +104,9 @@ public function testLogInterpolatesMessage(): void $logger = new Logger($config); - $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message bar baz'; + Time::setTestNow('2023-11-25 12:00:00'); + + $expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message bar baz'; $logger->log('debug', 'Test message {foo} {bar}', ['foo' => 'bar', 'bar' => 'baz']); @@ -110,8 +122,10 @@ public function testLogInterpolatesPost(): void $logger = new Logger($config); + Time::setTestNow('2023-11-25 12:00:00'); + $_POST = ['foo' => 'bar']; - $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message $_POST: ' . print_r($_POST, true); + $expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message $_POST: ' . print_r($_POST, true); $logger->log('debug', 'Test message {post_vars}'); @@ -127,8 +141,10 @@ public function testLogInterpolatesGet(): void $logger = new Logger($config); + Time::setTestNow('2023-11-25 12:00:00'); + $_GET = ['bar' => 'baz']; - $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message $_GET: ' . print_r($_GET, true); + $expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message $_GET: ' . print_r($_GET, true); $logger->log('debug', 'Test message {get_vars}'); @@ -144,8 +160,10 @@ public function testLogInterpolatesSession(): void $logger = new Logger($config); + Time::setTestNow('2023-11-25 12:00:00'); + $_SESSION = ['xxx' => 'yyy']; - $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message $_SESSION: ' . print_r($_SESSION, true); + $expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message $_SESSION: ' . print_r($_SESSION, true); $logger->log('debug', 'Test message {session_vars}'); @@ -161,7 +179,9 @@ public function testLogInterpolatesCurrentEnvironment(): void $logger = new Logger($config); - $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message ' . ENVIRONMENT; + Time::setTestNow('2023-11-25 12:00:00'); + + $expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message ' . ENVIRONMENT; $logger->log('debug', 'Test message {env}'); @@ -177,9 +197,11 @@ public function testLogInterpolatesEnvironmentVars(): void $logger = new Logger($config); + Time::setTestNow('2023-11-25 12:00:00'); + $_ENV['foo'] = 'bar'; - $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message bar'; + $expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message bar'; $logger->log('debug', 'Test message {env:foo}'); @@ -211,7 +233,9 @@ public function testLogInterpolatesExceptions(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'ERROR - ' . Time::now()->toDateString() . ' --> [ERROR] These are not the droids you are looking for'; + Time::setTestNow('2023-11-25 12:00:00'); + + $expected = 'ERROR - ' . Time::now()->format('Y-m-d') . ' --> [ERROR] These are not the droids you are looking for'; try { throw new Exception('These are not the droids you are looking for'); @@ -230,7 +254,9 @@ public function testEmergencyLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'EMERGENCY - ' . Time::now()->toDateString() . ' --> Test message'; + Time::setTestNow('2023-11-25 12:00:00'); + + $expected = 'EMERGENCY - ' . Time::now()->format('Y-m-d') . ' --> Test message'; $logger->emergency('Test message'); @@ -245,7 +271,9 @@ public function testAlertLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'ALERT - ' . Time::now()->toDateString() . ' --> Test message'; + Time::setTestNow('2023-11-25 12:00:00'); + + $expected = 'ALERT - ' . Time::now()->format('Y-m-d') . ' --> Test message'; $logger->alert('Test message'); @@ -260,7 +288,9 @@ public function testCriticalLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'CRITICAL - ' . Time::now()->toDateString() . ' --> Test message'; + Time::setTestNow('2023-11-25 12:00:00'); + + $expected = 'CRITICAL - ' . Time::now()->format('Y-m-d') . ' --> Test message'; $logger->critical('Test message'); @@ -275,7 +305,9 @@ public function testErrorLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'ERROR - ' . Time::now()->toDateString() . ' --> Test message'; + Time::setTestNow('2023-11-25 12:00:00'); + + $expected = 'ERROR - ' . Time::now()->format('Y-m-d') . ' --> Test message'; $logger->error('Test message'); @@ -290,7 +322,9 @@ public function testWarningLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'WARNING - ' . Time::now()->toDateString() . ' --> Test message'; + Time::setTestNow('2023-11-25 12:00:00'); + + $expected = 'WARNING - ' . Time::now()->format('Y-m-d') . ' --> Test message'; $logger->warning('Test message'); @@ -305,7 +339,9 @@ public function testNoticeLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'NOTICE - ' . Time::now()->toDateString() . ' --> Test message'; + Time::setTestNow('2023-11-25 12:00:00'); + + $expected = 'NOTICE - ' . Time::now()->format('Y-m-d') . ' --> Test message'; $logger->notice('Test message'); @@ -320,7 +356,9 @@ public function testInfoLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'INFO - ' . Time::now()->toDateString() . ' --> Test message'; + Time::setTestNow('2023-11-25 12:00:00'); + + $expected = 'INFO - ' . Time::now()->format('Y-m-d') . ' --> Test message'; $logger->info('Test message'); @@ -335,7 +373,9 @@ public function testDebugLogsCorrectly(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message'; + Time::setTestNow('2023-11-25 12:00:00'); + + $expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message'; $logger->debug('Test message'); @@ -350,7 +390,9 @@ public function testLogLevels(): void $config = new LoggerConfig(); $logger = new Logger($config); - $expected = 'WARNING - ' . Time::now()->toDateString() . ' --> Test message'; + Time::setTestNow('2023-11-25 12:00:00'); + + $expected = 'WARNING - ' . Time::now()->format('Y-m-d') . ' --> Test message'; $logger->log(5, 'Test message'); From 591e8fa3e3add84845f394ad3762ce684df1f4d4 Mon Sep 17 00:00:00 2001 From: ping-yee <611077101@mail.nknu.edu.tw> Date: Wed, 28 Feb 2024 07:41:35 +0800 Subject: [PATCH 024/139] test: remove the time depandency at redirectExceptionTest.php --- tests/system/HTTP/RedirectExceptionTest.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/system/HTTP/RedirectExceptionTest.php b/tests/system/HTTP/RedirectExceptionTest.php index acf91a392582..0a3ea30297ca 100644 --- a/tests/system/HTTP/RedirectExceptionTest.php +++ b/tests/system/HTTP/RedirectExceptionTest.php @@ -12,6 +12,7 @@ namespace CodeIgniter\HTTP; use CodeIgniter\HTTP\Exceptions\RedirectException; +use CodeIgniter\I18n\Time; use CodeIgniter\Log\Logger; use CodeIgniter\Test\Mock\MockLogger as LoggerConfig; use Config\Services; @@ -67,8 +68,10 @@ public function testResponseWithoutStatusCode(): void public function testLoggingLocationHeader(): void { + Time::setTestNow('2023-11-25 12:00:00'); + $uri = 'http://location'; - $expected = 'INFO - ' . date('Y-m-d') . ' --> REDIRECTED ROUTE at ' . $uri; + $expected = 'INFO - ' . Time::now()->format('Y-m-d') . ' --> REDIRECTED ROUTE at ' . $uri; $response = (new RedirectException(Services::response()->redirect($uri)))->getResponse(); $logs = TestHandler::getLogs(); @@ -80,8 +83,10 @@ public function testLoggingLocationHeader(): void public function testLoggingRefreshHeader(): void { + Time::setTestNow('2023-11-25 12:00:00'); + $uri = 'http://location'; - $expected = 'INFO - ' . date('Y-m-d') . ' --> REDIRECTED ROUTE at ' . $uri; + $expected = 'INFO - ' . Time::now()->format('Y-m-d') . ' --> REDIRECTED ROUTE at ' . $uri; $response = (new RedirectException(Services::response()->redirect($uri, 'refresh')))->getResponse(); $logs = TestHandler::getLogs(); From 549db022d033f6590a1fbe956c9498a2208efccf Mon Sep 17 00:00:00 2001 From: kenjis Date: Thu, 29 Feb 2024 10:43:39 +0900 Subject: [PATCH 025/139] test: fix tests that fails on Feb 29 --- tests/system/I18n/TimeLegacyTest.php | 9 +++++++-- tests/system/I18n/TimeTest.php | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/tests/system/I18n/TimeLegacyTest.php b/tests/system/I18n/TimeLegacyTest.php index 36907988349d..9f013a0ddcbe 100644 --- a/tests/system/I18n/TimeLegacyTest.php +++ b/tests/system/I18n/TimeLegacyTest.php @@ -399,10 +399,15 @@ public function testGetTimestamp(): void public function testGetAge(): void { + // setTestNow() does not work to parse(). $time = TimeLegacy::parse('5 years ago'); - $this->assertSame(5, $time->getAge()); - $this->assertSame(5, $time->age); + // Considers leap year + $now = TimeLegacy::now(); + $expected = ($now->day === '29' && $now->month === '2') ? 4 : 5; + + $this->assertSame($expected, $time->getAge()); + $this->assertSame($expected, $time->age); } public function testAgeNow(): void diff --git a/tests/system/I18n/TimeTest.php b/tests/system/I18n/TimeTest.php index d60fb4410a03..f5bca98268fb 100644 --- a/tests/system/I18n/TimeTest.php +++ b/tests/system/I18n/TimeTest.php @@ -406,10 +406,15 @@ public function testGetTimestamp(): void */ public function testGetAge(): void { + // setTestNow() does not work to parse(). $time = Time::parse('5 years ago'); - $this->assertSame(5, $time->getAge()); - $this->assertSame(5, $time->age); + // Considers leap year + $now = Time::now(); + $expected = ($now->day === '29' && $now->month === '2') ? 4 : 5; + + $this->assertSame($expected, $time->getAge()); + $this->assertSame($expected, $time->age); } public function testAgeNow(): void From a14ea360e203a0d6ae965ea470155e75622db1ca Mon Sep 17 00:00:00 2001 From: kenjis Date: Thu, 29 Feb 2024 10:45:52 +0900 Subject: [PATCH 026/139] test: remove unnecessary timezone America/Chicago It is wrong to change the timezone only to setTestNow(). Remnants of the old code? Now UTC is the default timezone. --- tests/system/I18n/TimeLegacyTest.php | 8 ++++---- tests/system/I18n/TimeTest.php | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/system/I18n/TimeLegacyTest.php b/tests/system/I18n/TimeLegacyTest.php index 9f013a0ddcbe..5814683ba6c7 100644 --- a/tests/system/I18n/TimeLegacyTest.php +++ b/tests/system/I18n/TimeLegacyTest.php @@ -419,7 +419,7 @@ public function testAgeNow(): void public function testAgeFuture(): void { - TimeLegacy::setTestNow('June 20, 2022', 'America/Chicago'); + TimeLegacy::setTestNow('June 20, 2022'); $time = TimeLegacy::parse('August 12, 2116 4:15:23pm'); $this->assertSame(0, $time->getAge()); @@ -427,7 +427,7 @@ public function testAgeFuture(): void public function testGetAgeSameDayOfBirthday(): void { - TimeLegacy::setTestNow('December 31, 2022', 'America/Chicago'); + TimeLegacy::setTestNow('December 31, 2022'); $time = TimeLegacy::parse('December 31, 2020'); $this->assertSame(2, $time->getAge()); @@ -435,7 +435,7 @@ public function testGetAgeSameDayOfBirthday(): void public function testGetAgeNextDayOfBirthday(): void { - TimeLegacy::setTestNow('January 1, 2022', 'America/Chicago'); + TimeLegacy::setTestNow('January 1, 2022'); $time = TimeLegacy::parse('December 31, 2020'); $this->assertSame(1, $time->getAge()); @@ -443,7 +443,7 @@ public function testGetAgeNextDayOfBirthday(): void public function testGetAgeBeforeDayOfBirthday(): void { - TimeLegacy::setTestNow('December 30, 2021', 'America/Chicago'); + TimeLegacy::setTestNow('December 30, 2021'); $time = TimeLegacy::parse('December 31, 2020'); $this->assertSame(0, $time->getAge()); diff --git a/tests/system/I18n/TimeTest.php b/tests/system/I18n/TimeTest.php index f5bca98268fb..db34590eadeb 100644 --- a/tests/system/I18n/TimeTest.php +++ b/tests/system/I18n/TimeTest.php @@ -426,7 +426,7 @@ public function testAgeNow(): void public function testAgeFuture(): void { - Time::setTestNow('June 20, 2022', 'America/Chicago'); + Time::setTestNow('June 20, 2022'); $time = Time::parse('August 12, 2116 4:15:23pm'); $this->assertSame(0, $time->getAge()); @@ -434,7 +434,7 @@ public function testAgeFuture(): void public function testGetAgeSameDayOfBirthday(): void { - Time::setTestNow('December 31, 2022', 'America/Chicago'); + Time::setTestNow('December 31, 2022'); $time = Time::parse('December 31, 2020'); $this->assertSame(2, $time->getAge()); @@ -442,7 +442,7 @@ public function testGetAgeSameDayOfBirthday(): void public function testGetAgeNextDayOfBirthday(): void { - Time::setTestNow('January 1, 2022', 'America/Chicago'); + Time::setTestNow('January 1, 2022'); $time = Time::parse('December 31, 2020'); $this->assertSame(1, $time->getAge()); @@ -450,7 +450,7 @@ public function testGetAgeNextDayOfBirthday(): void public function testGetAgeBeforeDayOfBirthday(): void { - Time::setTestNow('December 30, 2021', 'America/Chicago'); + Time::setTestNow('December 30, 2021'); $time = Time::parse('December 31, 2020'); $this->assertSame(0, $time->getAge()); From e70b389f16f4e35f521fc011762dc564a3eb4e42 Mon Sep 17 00:00:00 2001 From: "Mark A. Connelly" <16519297+markconnellypro@users.noreply.github.com> Date: Sat, 2 Mar 2024 01:47:04 -0500 Subject: [PATCH 027/139] fix: isWriteType() to recognize CTE; [Postgre] allow beginning whitespace at query start, RETURNING with DELETE --- system/Database/BaseConnection.php | 2 +- system/Database/Postgre/Connection.php | 2 +- .../Database/Live/WriteTypeQueryTest.php | 141 +++++++++++++++++- 3 files changed, 137 insertions(+), 8 deletions(-) diff --git a/system/Database/BaseConnection.php b/system/Database/BaseConnection.php index 9b131152210b..00f39efb1be3 100644 --- a/system/Database/BaseConnection.php +++ b/system/Database/BaseConnection.php @@ -1657,7 +1657,7 @@ public function resetDataCache() */ public function isWriteType($sql): bool { - return (bool) preg_match('/^\s*"?(SET|INSERT|UPDATE|DELETE|REPLACE|CREATE|DROP|TRUNCATE|LOAD|COPY|ALTER|RENAME|GRANT|REVOKE|LOCK|UNLOCK|REINDEX|MERGE)\s/i', $sql); + return (bool) preg_match('/^\s*(WITH\s(\s|.)+(\s|[)]))?"?(SET|INSERT|UPDATE|DELETE|REPLACE|CREATE|DROP|TRUNCATE|LOAD|COPY|ALTER|RENAME|GRANT|REVOKE|LOCK|UNLOCK|REINDEX|MERGE)\s/i', $sql); } /** diff --git a/system/Database/Postgre/Connection.php b/system/Database/Postgre/Connection.php index 0f761db197b9..1a30e993abfb 100644 --- a/system/Database/Postgre/Connection.php +++ b/system/Database/Postgre/Connection.php @@ -577,7 +577,7 @@ protected function _transRollback(): bool */ public function isWriteType($sql): bool { - if (preg_match('#^(INSERT|UPDATE).*RETURNING\s.+(\,\s?.+)*$#is', $sql)) { + if (preg_match('#^\s*(WITH\s(\s|.)+(\s|[)]))?(INSERT|UPDATE|DELETE).*RETURNING\s.+(\,\s?.+)*$#is', $sql)) { return false; } diff --git a/tests/system/Database/Live/WriteTypeQueryTest.php b/tests/system/Database/Live/WriteTypeQueryTest.php index 9228288ac22d..bf524981563e 100644 --- a/tests/system/Database/Live/WriteTypeQueryTest.php +++ b/tests/system/Database/Live/WriteTypeQueryTest.php @@ -48,11 +48,49 @@ public function testInsert(): void $this->assertTrue($this->db->isWriteType($sql)); - if ($this->db->DBDriver === 'Postgre') { - $sql = "INSERT INTO my_table (col1, col2) VALUES ('Joe', 'Cool') RETURNING id;"; + $sql = "WITH seqvals AS (SELECT '3' AS seqval)INSERT INTO my_table (col1, col2) SELECT 'Joe', seqval FROM seqvals;"; + + $this->assertTrue($this->db->isWriteType($sql)); + + $sql = <<assertFalse($this->db->isWriteType($sql)); + $this->assertTrue($this->db->isWriteType($sql)); + + $assertionType = 'assertTrue'; + if ($this->db->DBDriver === 'Postgre') { + $assertionType = 'assertFalse'; } + + $sql = "INSERT INTO my_table (col1, col2) VALUES ('Joe', 'Cool') RETURNING id;"; + + $this->$assertionType($this->db->isWriteType($sql)); + + $sql = "WITH seqvals AS (SELECT '3' AS seqval)INSERT INTO my_table (col1, col2) SELECT 'Joe', seqval FROM seqvals RETURNING id;"; + + $this->$assertionType($this->db->isWriteType($sql)); + + $sql = <<$assertionType($this->db->isWriteType($sql)); + + $sql = <<$assertionType($this->db->isWriteType($sql)); } public function testUpdate(): void @@ -63,11 +101,52 @@ public function testUpdate(): void $this->assertTrue($this->db->isWriteType($sql)); - if ($this->db->DBDriver === 'Postgre') { - $sql = "UPDATE my_table SET col1 = 'foo' WHERE id = 2 RETURNING *;"; + $sql = "WITH seqvals AS (SELECT '3' AS seqval)UPDATE my_table SET col1 = seqval FROM seqvals WHERE id = 2;"; + + $this->assertTrue($this->db->isWriteType($sql)); + + $sql = <<assertFalse($this->db->isWriteType($sql)); + $this->assertTrue($this->db->isWriteType($sql)); + + $assertionType = 'assertTrue'; + if ($this->db->DBDriver === 'Postgre') { + $assertionType = 'assertFalse'; } + + $sql = "UPDATE my_table SET col1 = 'foo' WHERE id = 2 RETURNING *;"; + + $this->$assertionType($this->db->isWriteType($sql)); + + $sql = "WITH seqvals AS (SELECT '3' AS seqval)UPDATE my_table SET col1 = seqval FROM seqvals WHERE id = 2 RETURNING *;"; + + $this->$assertionType($this->db->isWriteType($sql)); + + $sql = <<$assertionType($this->db->isWriteType($sql)); + + $sql = <<$assertionType($this->db->isWriteType($sql)); } public function testDelete(): void @@ -76,6 +155,56 @@ public function testDelete(): void $sql = $builder->testMode()->delete(['id' => 1], null, true); $this->assertTrue($this->db->isWriteType($sql)); + + $sql = "DELETE FROM my_table WHERE id = 2;"; + + $this->assertTrue($this->db->isWriteType($sql)); + + $sql = "WITH seqvals AS (SELECT '3' AS seqval)DELETE FROM my_table JOIN seqvals ON col1 = seqval;"; + + $this->assertTrue($this->db->isWriteType($sql)); + + $sql = <<assertTrue($this->db->isWriteType($sql)); + + $assertionType = 'assertTrue'; + if ($this->db->DBDriver === 'Postgre') { + $assertionType = 'assertFalse'; + } + + $sql = "DELETE FROM my_table WHERE id = 2 RETURNING *;"; + + $this->$assertionType($this->db->isWriteType($sql)); + + $sql = "WITH seqvals AS (SELECT '3' AS seqval)DELETE FROM my_table JOIN seqvals ON col1 = seqval RETURNING *;"; + + $this->$assertionType($this->db->isWriteType($sql)); + + $sql = <<$assertionType($this->db->isWriteType($sql)); + + $sql = <<$assertionType($this->db->isWriteType($sql)); } public function testReplace(): void From ad4d54d2027856997d9360bc133744ad864d9f66 Mon Sep 17 00:00:00 2001 From: "Mark A. Connelly" <16519297+markconnellypro@users.noreply.github.com> Date: Sat, 2 Mar 2024 03:28:21 -0500 Subject: [PATCH 028/139] Fix linting errors in tests --- .../Database/Live/WriteTypeQueryTest.php | 146 +++++++++--------- 1 file changed, 73 insertions(+), 73 deletions(-) diff --git a/tests/system/Database/Live/WriteTypeQueryTest.php b/tests/system/Database/Live/WriteTypeQueryTest.php index bf524981563e..264528edb7f7 100644 --- a/tests/system/Database/Live/WriteTypeQueryTest.php +++ b/tests/system/Database/Live/WriteTypeQueryTest.php @@ -52,12 +52,12 @@ public function testInsert(): void $this->assertTrue($this->db->isWriteType($sql)); - $sql = <<assertTrue($this->db->isWriteType($sql)); @@ -68,29 +68,29 @@ public function testInsert(): void $sql = "INSERT INTO my_table (col1, col2) VALUES ('Joe', 'Cool') RETURNING id;"; - $this->$assertionType($this->db->isWriteType($sql)); + $this->{$assertionType}($this->db->isWriteType($sql)); $sql = "WITH seqvals AS (SELECT '3' AS seqval)INSERT INTO my_table (col1, col2) SELECT 'Joe', seqval FROM seqvals RETURNING id;"; - $this->$assertionType($this->db->isWriteType($sql)); + $this->{$assertionType}($this->db->isWriteType($sql)); - $sql = <<$assertionType($this->db->isWriteType($sql)); + $this->{$assertionType}($this->db->isWriteType($sql)); - $sql = <<$assertionType($this->db->isWriteType($sql)); + $this->{$assertionType}($this->db->isWriteType($sql)); } public function testUpdate(): void @@ -105,13 +105,13 @@ public function testUpdate(): void $this->assertTrue($this->db->isWriteType($sql)); - $sql = <<assertTrue($this->db->isWriteType($sql)); @@ -122,31 +122,31 @@ public function testUpdate(): void $sql = "UPDATE my_table SET col1 = 'foo' WHERE id = 2 RETURNING *;"; - $this->$assertionType($this->db->isWriteType($sql)); + $this->{$assertionType}($this->db->isWriteType($sql)); $sql = "WITH seqvals AS (SELECT '3' AS seqval)UPDATE my_table SET col1 = seqval FROM seqvals WHERE id = 2 RETURNING *;"; - $this->$assertionType($this->db->isWriteType($sql)); + $this->{$assertionType}($this->db->isWriteType($sql)); - $sql = <<$assertionType($this->db->isWriteType($sql)); + $this->{$assertionType}($this->db->isWriteType($sql)); - $sql = <<$assertionType($this->db->isWriteType($sql)); + $this->{$assertionType}($this->db->isWriteType($sql)); } public function testDelete(): void @@ -156,7 +156,7 @@ public function testDelete(): void $this->assertTrue($this->db->isWriteType($sql)); - $sql = "DELETE FROM my_table WHERE id = 2;"; + $sql = 'DELETE FROM my_table WHERE id = 2;'; $this->assertTrue($this->db->isWriteType($sql)); @@ -164,13 +164,13 @@ public function testDelete(): void $this->assertTrue($this->db->isWriteType($sql)); - $sql = <<assertTrue($this->db->isWriteType($sql)); @@ -179,32 +179,32 @@ public function testDelete(): void $assertionType = 'assertFalse'; } - $sql = "DELETE FROM my_table WHERE id = 2 RETURNING *;"; + $sql = 'DELETE FROM my_table WHERE id = 2 RETURNING *;'; - $this->$assertionType($this->db->isWriteType($sql)); + $this->{$assertionType}($this->db->isWriteType($sql)); $sql = "WITH seqvals AS (SELECT '3' AS seqval)DELETE FROM my_table JOIN seqvals ON col1 = seqval RETURNING *;"; - $this->$assertionType($this->db->isWriteType($sql)); + $this->{$assertionType}($this->db->isWriteType($sql)); - $sql = <<$assertionType($this->db->isWriteType($sql)); + $this->{$assertionType}($this->db->isWriteType($sql)); - $sql = <<$assertionType($this->db->isWriteType($sql)); + $this->{$assertionType}($this->db->isWriteType($sql)); } public function testReplace(): void From 8b05cde6870236a9d10653161281de0c1c73ab40 Mon Sep 17 00:00:00 2001 From: "Mark A. Connelly" <16519297+markconnellypro@users.noreply.github.com> Date: Sat, 2 Mar 2024 03:55:14 -0500 Subject: [PATCH 029/139] Refine isWriteType regex between WITH and other operation keyword --- system/Database/BaseConnection.php | 2 +- system/Database/Postgre/Connection.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/system/Database/BaseConnection.php b/system/Database/BaseConnection.php index 00f39efb1be3..b289c1a06a5d 100644 --- a/system/Database/BaseConnection.php +++ b/system/Database/BaseConnection.php @@ -1657,7 +1657,7 @@ public function resetDataCache() */ public function isWriteType($sql): bool { - return (bool) preg_match('/^\s*(WITH\s(\s|.)+(\s|[)]))?"?(SET|INSERT|UPDATE|DELETE|REPLACE|CREATE|DROP|TRUNCATE|LOAD|COPY|ALTER|RENAME|GRANT|REVOKE|LOCK|UNLOCK|REINDEX|MERGE)\s/i', $sql); + return (bool) preg_match('/^\s*(WITH\s.+(\s|[)]))?"?(SET|INSERT|UPDATE|DELETE|REPLACE|CREATE|DROP|TRUNCATE|LOAD|COPY|ALTER|RENAME|GRANT|REVOKE|LOCK|UNLOCK|REINDEX|MERGE)\s/is', $sql); } /** diff --git a/system/Database/Postgre/Connection.php b/system/Database/Postgre/Connection.php index 1a30e993abfb..3c2f28825388 100644 --- a/system/Database/Postgre/Connection.php +++ b/system/Database/Postgre/Connection.php @@ -577,7 +577,7 @@ protected function _transRollback(): bool */ public function isWriteType($sql): bool { - if (preg_match('#^\s*(WITH\s(\s|.)+(\s|[)]))?(INSERT|UPDATE|DELETE).*RETURNING\s.+(\,\s?.+)*$#is', $sql)) { + if (preg_match('#^\s*(WITH\s.+(\s|[)]))?(INSERT|UPDATE|DELETE).*RETURNING\s.+(\,\s?.+)*$#is', $sql)) { return false; } From 64c461fcb9b4738e3967e98d2011610c967de2c4 Mon Sep 17 00:00:00 2001 From: kenjis Date: Sat, 2 Mar 2024 21:50:50 +0900 Subject: [PATCH 030/139] fix: duplicate Cache-Control header with Session --- system/Config/Services.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/system/Config/Services.php b/system/Config/Services.php index 5ffb9e049c46..4ee5c4982e3c 100644 --- a/system/Config/Services.php +++ b/system/Config/Services.php @@ -690,6 +690,12 @@ public static function session(?SessionConfig $config = null, bool $getShared = $session->setLogger($logger); if (session_status() === PHP_SESSION_NONE) { + // PHP Session emits the headers according to `session.cache_limiter`. + // See https://www.php.net/manual/en/function.session-cache-limiter.php. + // The headers are not managed by the CI's Response class. + // So removes the CI's default Cache-Control header. + AppServices::response()->removeHeader('Cache-Control'); + $session->start(); } From a820445bb0cc461e4c840bbf4a1a90e4a4d59f4c Mon Sep 17 00:00:00 2001 From: ping-yee <611077101@mail.nknu.edu.tw> Date: Sun, 3 Mar 2024 13:16:31 +0800 Subject: [PATCH 031/139] test: make time testable. --- tests/_support/Log/Handlers/TestHandler.php | 6 +----- tests/system/HTTP/RedirectExceptionTest.php | 8 ++++++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/tests/_support/Log/Handlers/TestHandler.php b/tests/_support/Log/Handlers/TestHandler.php index 2bb2e3e7636e..ec03848eafc2 100644 --- a/tests/_support/Log/Handlers/TestHandler.php +++ b/tests/_support/Log/Handlers/TestHandler.php @@ -37,8 +37,6 @@ public function __construct(array $config) { parent::__construct($config); - Time::setTestNow('2023-11-25 12:00:00'); - $this->handles = $config['handles'] ?? []; $this->destination = $this->path . 'log-' . Time::now()->format('Y-m-d') . '.' . $this->fileExtension; @@ -56,9 +54,7 @@ public function __construct(array $config) */ public function handle($level, $message): bool { - Time::setTestNow('2023-11-25 12:00:00'); - - $date = Time::now()->format('Y-m-d'); + $date = Time::now()->format($this->dateFormat); self::$logs[] = strtoupper($level) . ' - ' . $date . ' --> ' . $message; diff --git a/tests/system/HTTP/RedirectExceptionTest.php b/tests/system/HTTP/RedirectExceptionTest.php index 0a3ea30297ca..12e081f40157 100644 --- a/tests/system/HTTP/RedirectExceptionTest.php +++ b/tests/system/HTTP/RedirectExceptionTest.php @@ -33,6 +33,14 @@ protected function setUp(): void Services::injectMock('logger', new Logger(new LoggerConfig())); } + protected function tearDown(): void + { + parent::tearDown(); + + // Reset the current time. + Time::setTestNow(); + } + public function testResponse(): void { $response = (new RedirectException( From 123d987ca6a3f77ac2faa8eab87b7927536a9781 Mon Sep 17 00:00:00 2001 From: "Mark A. Connelly" <16519297+markconnellypro@users.noreply.github.com> Date: Sun, 3 Mar 2024 22:21:22 -0500 Subject: [PATCH 032/139] Separate each test into its own function; add testAssertTypeReturning function for which databases support RETURNING --- .../Database/Live/WriteTypeQueryTest.php | 258 +++++++++++++++--- 1 file changed, 220 insertions(+), 38 deletions(-) diff --git a/tests/system/Database/Live/WriteTypeQueryTest.php b/tests/system/Database/Live/WriteTypeQueryTest.php index 264528edb7f7..befb0327b89b 100644 --- a/tests/system/Database/Live/WriteTypeQueryTest.php +++ b/tests/system/Database/Live/WriteTypeQueryTest.php @@ -28,6 +28,25 @@ final class WriteTypeQueryTest extends CIUnitTestCase protected $refresh = true; protected $seed = CITestSeeder::class; + /** + * Whether CodeIgniter ignores RETURNING for isWriteType. + * + * Currently, only Postgre is supported by CodeIgniter. + * This method should be updated if support for RETURNING + * is expanded to other databases. + * + * @param string $dbDriver + */ + private function testAssertTypeReturning($dbDriver): string + { + $assertType = 'assertTrue'; + if ($dbDriver === 'Postgre') { + $assertType = 'assertFalse'; + } + + return $assertType; + } + public function testSet(): void { $sql = 'SET FOREIGN_KEY_CHECKS=0'; @@ -35,7 +54,7 @@ public function testSet(): void $this->assertTrue($this->db->isWriteType($sql)); } - public function testInsert(): void + public function testInsertBuilder(): void { $builder = $this->db->table('jobs'); @@ -47,11 +66,42 @@ public function testInsert(): void $sql = $builder->getCompiledInsert(); $this->assertTrue($this->db->isWriteType($sql)); + } + + public function testInsertOne(): void + { + $sql = "INSERT INTO my_table (col1, col2) VALUES ('Joe', 'Cool');"; + + $this->assertTrue($this->db->isWriteType($sql)); + } + + public function testInsertMulti(): void + { + $sql = <<<'SQL' + INSERT INTO my_table (col1, col2) + VALUES ('Joe', 'Cool') + RETURNING id; + SQL; + + $this->assertTrue($this->db->isWriteType($sql)); + } + + public function testInsertWithOne(): void + { + $sql = "WITH seqvals AS (SELECT '3' AS seqval) INSERT INTO my_table (col1, col2) SELECT 'Joe', seqval FROM seqvals;"; + $this->assertTrue($this->db->isWriteType($sql)); + } + + public function testInsertWithOneNoSpace(): void + { $sql = "WITH seqvals AS (SELECT '3' AS seqval)INSERT INTO my_table (col1, col2) SELECT 'Joe', seqval FROM seqvals;"; $this->assertTrue($this->db->isWriteType($sql)); + } + public function testInsertWithMulti(): void + { $sql = <<<'SQL' WITH seqvals AS (SELECT '3' AS seqval) INSERT INTO my_table (col1, col2) @@ -60,28 +110,50 @@ public function testInsert(): void SQL; $this->assertTrue($this->db->isWriteType($sql)); + } - $assertionType = 'assertTrue'; - if ($this->db->DBDriver === 'Postgre') { - $assertionType = 'assertFalse'; - } - + public function testInsertOneReturning(): void + { $sql = "INSERT INTO my_table (col1, col2) VALUES ('Joe', 'Cool') RETURNING id;"; - $this->{$assertionType}($this->db->isWriteType($sql)); - - $sql = "WITH seqvals AS (SELECT '3' AS seqval)INSERT INTO my_table (col1, col2) SELECT 'Joe', seqval FROM seqvals RETURNING id;"; + $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - $this->{$assertionType}($this->db->isWriteType($sql)); + $this->{$assertType}($this->db->isWriteType($sql)); + } + public function testInsertMultiReturning(): void + { $sql = <<<'SQL' INSERT INTO my_table (col1, col2) VALUES ('Joe', 'Cool') RETURNING id; SQL; - $this->{$assertionType}($this->db->isWriteType($sql)); + $assertType = $this->testAssertTypeReturning($this->db->DBDriver); + + $this->{$assertType}($this->db->isWriteType($sql)); + } + + public function testInsertWithOneReturning(): void + { + $sql = "WITH seqvals AS (SELECT '3' AS seqval) INSERT INTO my_table (col1, col2) SELECT 'Joe', seqval FROM seqvals RETURNING id;"; + + $assertType = $this->testAssertTypeReturning($this->db->DBDriver); + + $this->{$assertType}($this->db->isWriteType($sql)); + } + + public function testInsertWithOneReturningNoSpace(): void + { + $sql = "WITH seqvals AS (SELECT '3' AS seqval)INSERT INTO my_table (col1, col2) SELECT 'Joe', seqval FROM seqvals RETURNING id;"; + + $assertType = $this->testAssertTypeReturning($this->db->DBDriver); + + $this->{$assertType}($this->db->isWriteType($sql)); + } + public function testInsertWithMultiReturning(): void + { $sql = <<<'SQL' WITH seqvals AS (SELECT '3' AS seqval) INSERT INTO my_table (col1, col2) @@ -90,21 +162,54 @@ public function testInsert(): void RETURNING id; SQL; - $this->{$assertionType}($this->db->isWriteType($sql)); + $assertType = $this->testAssertTypeReturning($this->db->DBDriver); + + $this->{$assertType}($this->db->isWriteType($sql)); } - public function testUpdate(): void + public function testUpdateBuilder(): void { $builder = new BaseBuilder('jobs', $this->db); $builder->testMode()->where('id', 1)->update(['name' => 'Programmer'], null, null); $sql = $builder->getCompiledInsert(); $this->assertTrue($this->db->isWriteType($sql)); + } + + public function testUpdateOne(): void + { + $sql = "UPDATE my_table SET col1 = 'foo' WHERE id = 2;"; + + $this->assertTrue($this->db->isWriteType($sql)); + } + + public function testUpdateMulti(): void + { + $sql = <<<'SQL' + UPDATE my_table + SET col1 = 'foo' + WHERE id = 2; + SQL; + + $this->assertTrue($this->db->isWriteType($sql)); + } + + public function testUpdateWithOne(): void + { + $sql = "WITH seqvals AS (SELECT '3' AS seqval) UPDATE my_table SET col1 = seqval FROM seqvals WHERE id = 2;"; + + $this->assertTrue($this->db->isWriteType($sql)); + } + public function testUpdateWithOneNoSpace(): void + { $sql = "WITH seqvals AS (SELECT '3' AS seqval)UPDATE my_table SET col1 = seqval FROM seqvals WHERE id = 2;"; $this->assertTrue($this->db->isWriteType($sql)); + } + public function testUpdateWithMulti(): void + { $sql = <<<'SQL' WITH seqvals AS (SELECT '3' AS seqval) UPDATE my_table @@ -114,20 +219,19 @@ public function testUpdate(): void SQL; $this->assertTrue($this->db->isWriteType($sql)); + } - $assertionType = 'assertTrue'; - if ($this->db->DBDriver === 'Postgre') { - $assertionType = 'assertFalse'; - } - + public function testUpdateOneReturning(): void + { $sql = "UPDATE my_table SET col1 = 'foo' WHERE id = 2 RETURNING *;"; - $this->{$assertionType}($this->db->isWriteType($sql)); - - $sql = "WITH seqvals AS (SELECT '3' AS seqval)UPDATE my_table SET col1 = seqval FROM seqvals WHERE id = 2 RETURNING *;"; + $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - $this->{$assertionType}($this->db->isWriteType($sql)); + $this->{$assertType}($this->db->isWriteType($sql)); + } + public function testUpdateMultiReturning(): void + { $sql = <<<'SQL' UPDATE my_table SET col1 = 'foo' @@ -135,8 +239,31 @@ public function testUpdate(): void RETURNING *; SQL; - $this->{$assertionType}($this->db->isWriteType($sql)); + $assertType = $this->testAssertTypeReturning($this->db->DBDriver); + + $this->{$assertType}($this->db->isWriteType($sql)); + } + + public function testUpdateWithOneReturning(): void + { + $sql = "WITH seqvals AS (SELECT '3' AS seqval) UPDATE my_table SET col1 = seqval FROM seqvals WHERE id = 2 RETURNING *;"; + + $assertType = $this->testAssertTypeReturning($this->db->DBDriver); + + $this->{$assertType}($this->db->isWriteType($sql)); + } + + public function testUpdateWithOneReturningNoSpace(): void + { + $sql = "WITH seqvals AS (SELECT '3' AS seqval)UPDATE my_table SET col1 = seqval FROM seqvals WHERE id = 2 RETURNING *;"; + + $assertType = $this->testAssertTypeReturning($this->db->DBDriver); + $this->{$assertType}($this->db->isWriteType($sql)); + } + + public function testUpdateWithMultiReturning(): void + { $sql = <<<'SQL' WITH seqvals AS (SELECT '3' AS seqval) UPDATE my_table @@ -146,24 +273,52 @@ public function testUpdate(): void RETURNING *; SQL; - $this->{$assertionType}($this->db->isWriteType($sql)); + $assertType = $this->testAssertTypeReturning($this->db->DBDriver); + + $this->{$assertType}($this->db->isWriteType($sql)); } - public function testDelete(): void + public function testDeleteBuilder(): void { $builder = $this->db->table('jobs'); $sql = $builder->testMode()->delete(['id' => 1], null, true); $this->assertTrue($this->db->isWriteType($sql)); + } + public function testDeleteOne(): void + { $sql = 'DELETE FROM my_table WHERE id = 2;'; $this->assertTrue($this->db->isWriteType($sql)); + } + + public function testDeleteMulti(): void + { + $sql = <<<'SQL' + DELETE FROM my_table + WHERE id = 2; + SQL; + + $this->assertTrue($this->db->isWriteType($sql)); + } + + public function testDeleteWithOne(): void + { + $sql = "WITH seqvals AS (SELECT '3' AS seqval) DELETE FROM my_table JOIN seqvals ON col1 = seqval;"; + $this->assertTrue($this->db->isWriteType($sql)); + } + + public function testDeleteWithOneNoSpace(): void + { $sql = "WITH seqvals AS (SELECT '3' AS seqval)DELETE FROM my_table JOIN seqvals ON col1 = seqval;"; $this->assertTrue($this->db->isWriteType($sql)); + } + public function testDeleteWithMulti(): void + { $sql = <<<'SQL' WITH seqvals AS (SELECT '3' AS seqval) @@ -173,28 +328,50 @@ public function testDelete(): void SQL; $this->assertTrue($this->db->isWriteType($sql)); + } - $assertionType = 'assertTrue'; - if ($this->db->DBDriver === 'Postgre') { - $assertionType = 'assertFalse'; - } - + public function testDeleteOneReturning(): void + { $sql = 'DELETE FROM my_table WHERE id = 2 RETURNING *;'; - $this->{$assertionType}($this->db->isWriteType($sql)); - - $sql = "WITH seqvals AS (SELECT '3' AS seqval)DELETE FROM my_table JOIN seqvals ON col1 = seqval RETURNING *;"; + $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - $this->{$assertionType}($this->db->isWriteType($sql)); + $this->{$assertType}($this->db->isWriteType($sql)); + } + public function testDeleteMultiReturning(): void + { $sql = <<<'SQL' DELETE FROM my_table WHERE id = 2 RETURNING *; SQL; - $this->{$assertionType}($this->db->isWriteType($sql)); + $assertType = $this->testAssertTypeReturning($this->db->DBDriver); + + $this->{$assertType}($this->db->isWriteType($sql)); + } + + public function testDeleteWithOneReturning(): void + { + $sql = "WITH seqvals AS (SELECT '3' AS seqval) DELETE FROM my_table JOIN seqvals ON col1 = seqval RETURNING *;"; + + $assertType = $this->testAssertTypeReturning($this->db->DBDriver); + + $this->{$assertType}($this->db->isWriteType($sql)); + } + + public function testDeleteWithOneReturningNoSpace(): void + { + $sql = "WITH seqvals AS (SELECT '3' AS seqval)DELETE FROM my_table JOIN seqvals ON col1 = seqval RETURNING *;"; + + $assertType = $this->testAssertTypeReturning($this->db->DBDriver); + + $this->{$assertType}($this->db->isWriteType($sql)); + } + public function testDeleteWithMultiReturning(): void + { $sql = <<<'SQL' WITH seqvals AS (SELECT '3' AS seqval) @@ -204,7 +381,9 @@ public function testDelete(): void RETURNING *; SQL; - $this->{$assertionType}($this->db->isWriteType($sql)); + $assertType = $this->testAssertTypeReturning($this->db->DBDriver); + + $this->{$assertType}($this->db->isWriteType($sql)); } public function testReplace(): void @@ -225,19 +404,22 @@ public function testReplace(): void $this->assertTrue($this->db->isWriteType($sql)); } - public function testCreate(): void + public function testCreateDatabase(): void { $sql = 'CREATE DATABASE foo'; $this->assertTrue($this->db->isWriteType($sql)); } - public function testDrop(): void + public function testDropDatabase(): void { $sql = 'DROP DATABASE foo'; $this->assertTrue($this->db->isWriteType($sql)); + } + public function testDropTable(): void + { $sql = 'DROP TABLE foo'; $this->assertTrue($this->db->isWriteType($sql)); From 8e1f62fc2670a0db2e7a4241d7ad846fab17f3fb Mon Sep 17 00:00:00 2001 From: "Mark A. Connelly" <16519297+markconnellypro@users.noreply.github.com> Date: Sun, 3 Mar 2024 22:25:18 -0500 Subject: [PATCH 033/139] Remove RETURNING from testInsertMulti() --- tests/system/Database/Live/WriteTypeQueryTest.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/system/Database/Live/WriteTypeQueryTest.php b/tests/system/Database/Live/WriteTypeQueryTest.php index befb0327b89b..2ab956781d7f 100644 --- a/tests/system/Database/Live/WriteTypeQueryTest.php +++ b/tests/system/Database/Live/WriteTypeQueryTest.php @@ -79,8 +79,7 @@ public function testInsertMulti(): void { $sql = <<<'SQL' INSERT INTO my_table (col1, col2) - VALUES ('Joe', 'Cool') - RETURNING id; + VALUES ('Joe', 'Cool'); SQL; $this->assertTrue($this->db->isWriteType($sql)); From d2c6162ed3e4ccdfda0873323116addb4f62d41d Mon Sep 17 00:00:00 2001 From: "Mark A. Connelly" <16519297+markconnellypro@users.noreply.github.com> Date: Sun, 3 Mar 2024 23:12:12 -0500 Subject: [PATCH 034/139] Fix rector errors in tests --- tests/system/Database/Live/WriteTypeQueryTest.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/system/Database/Live/WriteTypeQueryTest.php b/tests/system/Database/Live/WriteTypeQueryTest.php index 2ab956781d7f..3a4e5a4ba50c 100644 --- a/tests/system/Database/Live/WriteTypeQueryTest.php +++ b/tests/system/Database/Live/WriteTypeQueryTest.php @@ -39,12 +39,11 @@ final class WriteTypeQueryTest extends CIUnitTestCase */ private function testAssertTypeReturning($dbDriver): string { - $assertType = 'assertTrue'; if ($dbDriver === 'Postgre') { - $assertType = 'assertFalse'; + return 'assertFalse'; } - return $assertType; + return 'assertTrue'; } public function testSet(): void From b0dd905a68e83b6ccfad362ba488bd632ed07eab Mon Sep 17 00:00:00 2001 From: "Mark A. Connelly" <16519297+markconnellypro@users.noreply.github.com> Date: Sun, 3 Mar 2024 23:30:17 -0500 Subject: [PATCH 035/139] Change testAssertTypeReturning to testReturning; remove dynamic $assertType and instead use if statement --- .../Database/Live/WriteTypeQueryTest.php | 132 +++++++++++------- 1 file changed, 79 insertions(+), 53 deletions(-) diff --git a/tests/system/Database/Live/WriteTypeQueryTest.php b/tests/system/Database/Live/WriteTypeQueryTest.php index 3a4e5a4ba50c..df3ea16d02c6 100644 --- a/tests/system/Database/Live/WriteTypeQueryTest.php +++ b/tests/system/Database/Live/WriteTypeQueryTest.php @@ -29,21 +29,17 @@ final class WriteTypeQueryTest extends CIUnitTestCase protected $seed = CITestSeeder::class; /** - * Whether CodeIgniter ignores RETURNING for isWriteType. + * Whether CodeIgniter considers RETURNING in isWriteType. * * Currently, only Postgre is supported by CodeIgniter. * This method should be updated if support for RETURNING - * is expanded to other databases. + * is expanded for other databases. * * @param string $dbDriver */ - private function testAssertTypeReturning($dbDriver): string + private function testReturning($dbDriver): bool { - if ($dbDriver === 'Postgre') { - return 'assertFalse'; - } - - return 'assertTrue'; + return $dbDriver === 'Postgre'; } public function testSet(): void @@ -114,9 +110,11 @@ public function testInsertOneReturning(): void { $sql = "INSERT INTO my_table (col1, col2) VALUES ('Joe', 'Cool') RETURNING id;"; - $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - - $this->{$assertType}($this->db->isWriteType($sql)); + if ($this->testReturning($this->db->DBDriver)) { + $this->assertFalse($this->db->isWriteType($sql)); + } else { + $this->assertTrue($this->db->isWriteType($sql)); + } } public function testInsertMultiReturning(): void @@ -127,27 +125,33 @@ public function testInsertMultiReturning(): void RETURNING id; SQL; - $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - - $this->{$assertType}($this->db->isWriteType($sql)); + if ($this->testReturning($this->db->DBDriver)) { + $this->assertFalse($this->db->isWriteType($sql)); + } else { + $this->assertTrue($this->db->isWriteType($sql)); + } } public function testInsertWithOneReturning(): void { $sql = "WITH seqvals AS (SELECT '3' AS seqval) INSERT INTO my_table (col1, col2) SELECT 'Joe', seqval FROM seqvals RETURNING id;"; - $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - - $this->{$assertType}($this->db->isWriteType($sql)); + if ($this->testReturning($this->db->DBDriver)) { + $this->assertFalse($this->db->isWriteType($sql)); + } else { + $this->assertTrue($this->db->isWriteType($sql)); + } } public function testInsertWithOneReturningNoSpace(): void { $sql = "WITH seqvals AS (SELECT '3' AS seqval)INSERT INTO my_table (col1, col2) SELECT 'Joe', seqval FROM seqvals RETURNING id;"; - $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - - $this->{$assertType}($this->db->isWriteType($sql)); + if ($this->testReturning($this->db->DBDriver)) { + $this->assertFalse($this->db->isWriteType($sql)); + } else { + $this->assertTrue($this->db->isWriteType($sql)); + } } public function testInsertWithMultiReturning(): void @@ -160,9 +164,11 @@ public function testInsertWithMultiReturning(): void RETURNING id; SQL; - $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - - $this->{$assertType}($this->db->isWriteType($sql)); + if ($this->testReturning($this->db->DBDriver)) { + $this->assertFalse($this->db->isWriteType($sql)); + } else { + $this->assertTrue($this->db->isWriteType($sql)); + } } public function testUpdateBuilder(): void @@ -223,9 +229,11 @@ public function testUpdateOneReturning(): void { $sql = "UPDATE my_table SET col1 = 'foo' WHERE id = 2 RETURNING *;"; - $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - - $this->{$assertType}($this->db->isWriteType($sql)); + if ($this->testReturning($this->db->DBDriver)) { + $this->assertFalse($this->db->isWriteType($sql)); + } else { + $this->assertTrue($this->db->isWriteType($sql)); + } } public function testUpdateMultiReturning(): void @@ -237,27 +245,33 @@ public function testUpdateMultiReturning(): void RETURNING *; SQL; - $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - - $this->{$assertType}($this->db->isWriteType($sql)); + if ($this->testReturning($this->db->DBDriver)) { + $this->assertFalse($this->db->isWriteType($sql)); + } else { + $this->assertTrue($this->db->isWriteType($sql)); + } } public function testUpdateWithOneReturning(): void { $sql = "WITH seqvals AS (SELECT '3' AS seqval) UPDATE my_table SET col1 = seqval FROM seqvals WHERE id = 2 RETURNING *;"; - $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - - $this->{$assertType}($this->db->isWriteType($sql)); + if ($this->testReturning($this->db->DBDriver)) { + $this->assertFalse($this->db->isWriteType($sql)); + } else { + $this->assertTrue($this->db->isWriteType($sql)); + } } public function testUpdateWithOneReturningNoSpace(): void { $sql = "WITH seqvals AS (SELECT '3' AS seqval)UPDATE my_table SET col1 = seqval FROM seqvals WHERE id = 2 RETURNING *;"; - $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - - $this->{$assertType}($this->db->isWriteType($sql)); + if ($this->testReturning($this->db->DBDriver)) { + $this->assertFalse($this->db->isWriteType($sql)); + } else { + $this->assertTrue($this->db->isWriteType($sql)); + } } public function testUpdateWithMultiReturning(): void @@ -271,9 +285,11 @@ public function testUpdateWithMultiReturning(): void RETURNING *; SQL; - $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - - $this->{$assertType}($this->db->isWriteType($sql)); + if ($this->testReturning($this->db->DBDriver)) { + $this->assertFalse($this->db->isWriteType($sql)); + } else { + $this->assertTrue($this->db->isWriteType($sql)); + } } public function testDeleteBuilder(): void @@ -332,9 +348,11 @@ public function testDeleteOneReturning(): void { $sql = 'DELETE FROM my_table WHERE id = 2 RETURNING *;'; - $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - - $this->{$assertType}($this->db->isWriteType($sql)); + if ($this->testReturning($this->db->DBDriver)) { + $this->assertFalse($this->db->isWriteType($sql)); + } else { + $this->assertTrue($this->db->isWriteType($sql)); + } } public function testDeleteMultiReturning(): void @@ -345,27 +363,33 @@ public function testDeleteMultiReturning(): void RETURNING *; SQL; - $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - - $this->{$assertType}($this->db->isWriteType($sql)); + if ($this->testReturning($this->db->DBDriver)) { + $this->assertFalse($this->db->isWriteType($sql)); + } else { + $this->assertTrue($this->db->isWriteType($sql)); + } } public function testDeleteWithOneReturning(): void { $sql = "WITH seqvals AS (SELECT '3' AS seqval) DELETE FROM my_table JOIN seqvals ON col1 = seqval RETURNING *;"; - $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - - $this->{$assertType}($this->db->isWriteType($sql)); + if ($this->testReturning($this->db->DBDriver)) { + $this->assertFalse($this->db->isWriteType($sql)); + } else { + $this->assertTrue($this->db->isWriteType($sql)); + } } public function testDeleteWithOneReturningNoSpace(): void { $sql = "WITH seqvals AS (SELECT '3' AS seqval)DELETE FROM my_table JOIN seqvals ON col1 = seqval RETURNING *;"; - $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - - $this->{$assertType}($this->db->isWriteType($sql)); + if ($this->testReturning($this->db->DBDriver)) { + $this->assertFalse($this->db->isWriteType($sql)); + } else { + $this->assertTrue($this->db->isWriteType($sql)); + } } public function testDeleteWithMultiReturning(): void @@ -379,9 +403,11 @@ public function testDeleteWithMultiReturning(): void RETURNING *; SQL; - $assertType = $this->testAssertTypeReturning($this->db->DBDriver); - - $this->{$assertType}($this->db->isWriteType($sql)); + if ($this->testReturning($this->db->DBDriver)) { + $this->assertFalse($this->db->isWriteType($sql)); + } else { + $this->assertTrue($this->db->isWriteType($sql)); + } } public function testReplace(): void From feb7f81ec0ff4de6da3e66cc8ad8aebb4efb5a9d Mon Sep 17 00:00:00 2001 From: "Mark A. Connelly" <16519297+markconnellypro@users.noreply.github.com> Date: Mon, 4 Mar 2024 00:20:00 -0500 Subject: [PATCH 036/139] Remove isWriteType override for Postgre; Omit RETURNING from isWriteType for all database types; Modify tests for uniform handling for all database types --- system/Database/BaseConnection.php | 2 +- system/Database/Postgre/Connection.php | 16 --- .../Database/Live/WriteTypeQueryTest.php | 104 +++--------------- 3 files changed, 16 insertions(+), 106 deletions(-) diff --git a/system/Database/BaseConnection.php b/system/Database/BaseConnection.php index b289c1a06a5d..ae5c4b3805f1 100644 --- a/system/Database/BaseConnection.php +++ b/system/Database/BaseConnection.php @@ -1657,7 +1657,7 @@ public function resetDataCache() */ public function isWriteType($sql): bool { - return (bool) preg_match('/^\s*(WITH\s.+(\s|[)]))?"?(SET|INSERT|UPDATE|DELETE|REPLACE|CREATE|DROP|TRUNCATE|LOAD|COPY|ALTER|RENAME|GRANT|REVOKE|LOCK|UNLOCK|REINDEX|MERGE)\s/is', $sql); + return (bool) preg_match('/^\s*(WITH\s.+(\s|[)]))?"?(SET|INSERT|UPDATE|DELETE|REPLACE|CREATE|DROP|TRUNCATE|LOAD|COPY|ALTER|RENAME|GRANT|REVOKE|LOCK|UNLOCK|REINDEX|MERGE)\s(?!.*\sRETURNING\s)/is', $sql); } /** diff --git a/system/Database/Postgre/Connection.php b/system/Database/Postgre/Connection.php index 3c2f28825388..d488c96ec1d4 100644 --- a/system/Database/Postgre/Connection.php +++ b/system/Database/Postgre/Connection.php @@ -567,20 +567,4 @@ protected function _transRollback(): bool { return (bool) pg_query($this->connID, 'ROLLBACK'); } - - /** - * Determines if a query is a "write" type. - * - * Overrides BaseConnection::isWriteType, adding additional read query types. - * - * @param string $sql - */ - public function isWriteType($sql): bool - { - if (preg_match('#^\s*(WITH\s.+(\s|[)]))?(INSERT|UPDATE|DELETE).*RETURNING\s.+(\,\s?.+)*$#is', $sql)) { - return false; - } - - return parent::isWriteType($sql); - } } diff --git a/tests/system/Database/Live/WriteTypeQueryTest.php b/tests/system/Database/Live/WriteTypeQueryTest.php index df3ea16d02c6..fe59f19ffd2e 100644 --- a/tests/system/Database/Live/WriteTypeQueryTest.php +++ b/tests/system/Database/Live/WriteTypeQueryTest.php @@ -28,20 +28,6 @@ final class WriteTypeQueryTest extends CIUnitTestCase protected $refresh = true; protected $seed = CITestSeeder::class; - /** - * Whether CodeIgniter considers RETURNING in isWriteType. - * - * Currently, only Postgre is supported by CodeIgniter. - * This method should be updated if support for RETURNING - * is expanded for other databases. - * - * @param string $dbDriver - */ - private function testReturning($dbDriver): bool - { - return $dbDriver === 'Postgre'; - } - public function testSet(): void { $sql = 'SET FOREIGN_KEY_CHECKS=0'; @@ -110,11 +96,7 @@ public function testInsertOneReturning(): void { $sql = "INSERT INTO my_table (col1, col2) VALUES ('Joe', 'Cool') RETURNING id;"; - if ($this->testReturning($this->db->DBDriver)) { - $this->assertFalse($this->db->isWriteType($sql)); - } else { - $this->assertTrue($this->db->isWriteType($sql)); - } + $this->assertFalse($this->db->isWriteType($sql)); } public function testInsertMultiReturning(): void @@ -125,33 +107,21 @@ public function testInsertMultiReturning(): void RETURNING id; SQL; - if ($this->testReturning($this->db->DBDriver)) { - $this->assertFalse($this->db->isWriteType($sql)); - } else { - $this->assertTrue($this->db->isWriteType($sql)); - } + $this->assertFalse($this->db->isWriteType($sql)); } public function testInsertWithOneReturning(): void { $sql = "WITH seqvals AS (SELECT '3' AS seqval) INSERT INTO my_table (col1, col2) SELECT 'Joe', seqval FROM seqvals RETURNING id;"; - if ($this->testReturning($this->db->DBDriver)) { - $this->assertFalse($this->db->isWriteType($sql)); - } else { - $this->assertTrue($this->db->isWriteType($sql)); - } + $this->assertFalse($this->db->isWriteType($sql)); } public function testInsertWithOneReturningNoSpace(): void { $sql = "WITH seqvals AS (SELECT '3' AS seqval)INSERT INTO my_table (col1, col2) SELECT 'Joe', seqval FROM seqvals RETURNING id;"; - if ($this->testReturning($this->db->DBDriver)) { - $this->assertFalse($this->db->isWriteType($sql)); - } else { - $this->assertTrue($this->db->isWriteType($sql)); - } + $this->assertFalse($this->db->isWriteType($sql)); } public function testInsertWithMultiReturning(): void @@ -164,11 +134,7 @@ public function testInsertWithMultiReturning(): void RETURNING id; SQL; - if ($this->testReturning($this->db->DBDriver)) { - $this->assertFalse($this->db->isWriteType($sql)); - } else { - $this->assertTrue($this->db->isWriteType($sql)); - } + $this->assertFalse($this->db->isWriteType($sql)); } public function testUpdateBuilder(): void @@ -229,11 +195,7 @@ public function testUpdateOneReturning(): void { $sql = "UPDATE my_table SET col1 = 'foo' WHERE id = 2 RETURNING *;"; - if ($this->testReturning($this->db->DBDriver)) { - $this->assertFalse($this->db->isWriteType($sql)); - } else { - $this->assertTrue($this->db->isWriteType($sql)); - } + $this->assertFalse($this->db->isWriteType($sql)); } public function testUpdateMultiReturning(): void @@ -245,33 +207,21 @@ public function testUpdateMultiReturning(): void RETURNING *; SQL; - if ($this->testReturning($this->db->DBDriver)) { - $this->assertFalse($this->db->isWriteType($sql)); - } else { - $this->assertTrue($this->db->isWriteType($sql)); - } + $this->assertFalse($this->db->isWriteType($sql)); } public function testUpdateWithOneReturning(): void { $sql = "WITH seqvals AS (SELECT '3' AS seqval) UPDATE my_table SET col1 = seqval FROM seqvals WHERE id = 2 RETURNING *;"; - if ($this->testReturning($this->db->DBDriver)) { - $this->assertFalse($this->db->isWriteType($sql)); - } else { - $this->assertTrue($this->db->isWriteType($sql)); - } + $this->assertFalse($this->db->isWriteType($sql)); } public function testUpdateWithOneReturningNoSpace(): void { $sql = "WITH seqvals AS (SELECT '3' AS seqval)UPDATE my_table SET col1 = seqval FROM seqvals WHERE id = 2 RETURNING *;"; - if ($this->testReturning($this->db->DBDriver)) { - $this->assertFalse($this->db->isWriteType($sql)); - } else { - $this->assertTrue($this->db->isWriteType($sql)); - } + $this->assertFalse($this->db->isWriteType($sql)); } public function testUpdateWithMultiReturning(): void @@ -285,11 +235,7 @@ public function testUpdateWithMultiReturning(): void RETURNING *; SQL; - if ($this->testReturning($this->db->DBDriver)) { - $this->assertFalse($this->db->isWriteType($sql)); - } else { - $this->assertTrue($this->db->isWriteType($sql)); - } + $this->assertFalse($this->db->isWriteType($sql)); } public function testDeleteBuilder(): void @@ -348,11 +294,7 @@ public function testDeleteOneReturning(): void { $sql = 'DELETE FROM my_table WHERE id = 2 RETURNING *;'; - if ($this->testReturning($this->db->DBDriver)) { - $this->assertFalse($this->db->isWriteType($sql)); - } else { - $this->assertTrue($this->db->isWriteType($sql)); - } + $this->assertFalse($this->db->isWriteType($sql)); } public function testDeleteMultiReturning(): void @@ -363,33 +305,21 @@ public function testDeleteMultiReturning(): void RETURNING *; SQL; - if ($this->testReturning($this->db->DBDriver)) { - $this->assertFalse($this->db->isWriteType($sql)); - } else { - $this->assertTrue($this->db->isWriteType($sql)); - } + $this->assertFalse($this->db->isWriteType($sql)); } public function testDeleteWithOneReturning(): void { $sql = "WITH seqvals AS (SELECT '3' AS seqval) DELETE FROM my_table JOIN seqvals ON col1 = seqval RETURNING *;"; - if ($this->testReturning($this->db->DBDriver)) { - $this->assertFalse($this->db->isWriteType($sql)); - } else { - $this->assertTrue($this->db->isWriteType($sql)); - } + $this->assertFalse($this->db->isWriteType($sql)); } public function testDeleteWithOneReturningNoSpace(): void { $sql = "WITH seqvals AS (SELECT '3' AS seqval)DELETE FROM my_table JOIN seqvals ON col1 = seqval RETURNING *;"; - if ($this->testReturning($this->db->DBDriver)) { - $this->assertFalse($this->db->isWriteType($sql)); - } else { - $this->assertTrue($this->db->isWriteType($sql)); - } + $this->assertFalse($this->db->isWriteType($sql)); } public function testDeleteWithMultiReturning(): void @@ -403,11 +333,7 @@ public function testDeleteWithMultiReturning(): void RETURNING *; SQL; - if ($this->testReturning($this->db->DBDriver)) { - $this->assertFalse($this->db->isWriteType($sql)); - } else { - $this->assertTrue($this->db->isWriteType($sql)); - } + $this->assertFalse($this->db->isWriteType($sql)); } public function testReplace(): void From 6581e616c6118e734c97c472489331484073f06b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Mar 2024 15:28:02 +0000 Subject: [PATCH 037/139] chore(deps-dev): update rector/rector requirement from 1.0.1 to 1.0.2 Updates the requirements on [rector/rector](https://github.com/rectorphp/rector) to permit the latest version. - [Release notes](https://github.com/rectorphp/rector/releases) - [Commits](https://github.com/rectorphp/rector/compare/1.0.1...1.0.2) --- updated-dependencies: - dependency-name: rector/rector dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 709cb6977327..5a4455125bc8 100644 --- a/composer.json +++ b/composer.json @@ -34,7 +34,7 @@ "phpunit/phpcov": "^8.2", "phpunit/phpunit": "^9.1", "predis/predis": "^1.1 || ^2.0", - "rector/rector": "1.0.1", + "rector/rector": "1.0.2", "vimeo/psalm": "^5.0" }, "replace": { From a30e130cc72ede47f1a7ad70aea2ef9631e080ad Mon Sep 17 00:00:00 2001 From: kenjis Date: Tue, 5 Mar 2024 14:03:35 +0900 Subject: [PATCH 038/139] docs: fix by proofreading Co-authored-by: John Paul E. Balandan, CPA --- system/Config/Services.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/Config/Services.php b/system/Config/Services.php index 4ee5c4982e3c..738809b44595 100644 --- a/system/Config/Services.php +++ b/system/Config/Services.php @@ -692,8 +692,8 @@ public static function session(?SessionConfig $config = null, bool $getShared = if (session_status() === PHP_SESSION_NONE) { // PHP Session emits the headers according to `session.cache_limiter`. // See https://www.php.net/manual/en/function.session-cache-limiter.php. - // The headers are not managed by the CI's Response class. - // So removes the CI's default Cache-Control header. + // The headers are not managed by CI's Response class. + // So, we remove CI's default Cache-Control header. AppServices::response()->removeHeader('Cache-Control'); $session->start(); From 731e891ae835928038a76454544a00ea019682fe Mon Sep 17 00:00:00 2001 From: kenjis Date: Fri, 8 Mar 2024 09:01:18 +0900 Subject: [PATCH 039/139] docs: add/fix PHPDoc types --- phpstan-baseline.php | 30 ------------------------------ system/Test/Mock/MockCache.php | 10 ++++++++-- 2 files changed, 8 insertions(+), 32 deletions(-) diff --git a/phpstan-baseline.php b/phpstan-baseline.php index 843603f976b5..4e77d744241a 100644 --- a/phpstan-baseline.php +++ b/phpstan-baseline.php @@ -3106,36 +3106,6 @@ 'count' => 1, 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', ]; -$ignoreErrors[] = [ - 'message' => '#^Cannot unset offset string on array\\\\|null\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Test/Mock/MockCache.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCache\\:\\:assertHas\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCache.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCache\\:\\:assertHasValue\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCache.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCache\\:\\:assertMissing\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCache.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockCache\\:\\:get\\(\\) should be covariant with return type \\(array\\|bool\\|float\\|int\\|object\\|string\\|null\\) of method CodeIgniter\\\\Cache\\\\CacheInterface\\:\\:get\\(\\)$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Test/Mock/MockCache.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockCache\\:\\:remember\\(\\) should be covariant with return type \\(array\\|bool\\|float\\|int\\|object\\|string\\|null\\) of method CodeIgniter\\\\Cache\\\\Handlers\\\\BaseHandler\\:\\:remember\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCache.php', -]; $ignoreErrors[] = [ 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', 'count' => 2, diff --git a/system/Test/Mock/MockCache.php b/system/Test/Mock/MockCache.php index 8349b741bfc3..e61fdfa5dbbd 100644 --- a/system/Test/Mock/MockCache.php +++ b/system/Test/Mock/MockCache.php @@ -54,7 +54,7 @@ public function initialize() * * @param string $key Cache item name * - * @return mixed + * @return bool|null */ public function get(string $key) { @@ -66,7 +66,7 @@ public function get(string $key) /** * Get an item from the cache, or execute the given Closure and store the result. * - * @return mixed + * @return bool|null */ public function remember(string $key, int $ttl, Closure $callback) { @@ -266,6 +266,8 @@ public function bypass(bool $bypass = true) * Asserts that the cache has an item named $key. * The value is not checked since storing false or null * values is valid. + * + * @return void */ public function assertHas(string $key) { @@ -276,6 +278,8 @@ public function assertHas(string $key) * Asserts that the cache has an item named $key with a value matching $value. * * @param mixed $value + * + * @return void */ public function assertHasValue(string $key, $value = null) { @@ -292,6 +296,8 @@ public function assertHasValue(string $key, $value = null) /** * Asserts that the cache does NOT have an item named $key. + * + * @return void */ public function assertMissing(string $key) { From d709e85215de54fa0d5fcb18515e294426043ff7 Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean Date: Fri, 1 Mar 2024 09:13:52 +0700 Subject: [PATCH 040/139] fix: [DebugBar] scroll to top on open/close --- system/Debug/Toolbar/Views/toolbar.tpl.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/Debug/Toolbar/Views/toolbar.tpl.php b/system/Debug/Toolbar/Views/toolbar.tpl.php index e2336326088e..768f9d38c65e 100644 --- a/system/Debug/Toolbar/Views/toolbar.tpl.php +++ b/system/Debug/Toolbar/Views/toolbar.tpl.php @@ -27,7 +27,7 @@ @@ -80,7 +80,7 @@ - + From 91c3c59c94ebac13a7cbc3e080f0329577ac3bcd Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean Date: Sat, 2 Mar 2024 07:04:45 +0700 Subject: [PATCH 041/139] change all href to role button --- system/Debug/Toolbar/Views/toolbar.tpl.php | 30 +++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/system/Debug/Toolbar/Views/toolbar.tpl.php b/system/Debug/Toolbar/Views/toolbar.tpl.php index 768f9d38c65e..4bae5b54c7c7 100644 --- a/system/Debug/Toolbar/Views/toolbar.tpl.php +++ b/system/Debug/Toolbar/Views/toolbar.tpl.php @@ -33,15 +33,15 @@
- - 🔅 + + 🔅 - + - + ms   MB @@ -50,7 +50,7 @@ - + @@ -64,7 +64,7 @@ - + Vars @@ -72,7 +72,7 @@

- + @@ -80,7 +80,7 @@

- +
@@ -124,7 +124,7 @@ $items) : ?> - +

@@ -148,7 +148,7 @@ - +

Session User Data

@@ -174,7 +174,7 @@

Request ( )

- +

$_GET

@@ -191,7 +191,7 @@ - +

$_POST

@@ -208,7 +208,7 @@ - +

Headers

@@ -225,7 +225,7 @@ - +

Cookies

@@ -246,7 +246,7 @@ - +

Headers

From e2c488b610616fea0b12d0eceb5d893c314ad393 Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean Date: Sat, 2 Mar 2024 07:05:25 +0700 Subject: [PATCH 042/139] style css and run sass --- admin/css/debug-toolbar/toolbar.scss | 39 +++++++++++++++----------- system/Debug/Toolbar/Views/toolbar.css | 14 ++++++--- 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/admin/css/debug-toolbar/toolbar.scss b/admin/css/debug-toolbar/toolbar.scss index 9c5b149d392c..8d7bed21b361 100644 --- a/admin/css/debug-toolbar/toolbar.scss +++ b/admin/css/debug-toolbar/toolbar.scss @@ -13,6 +13,9 @@ @import '_mixins'; @import '_settings'; +[role="button"] { + cursor: pointer; +} // DEBUG ICON // ========================================================================== */ @@ -36,6 +39,9 @@ clear: both; text-align: center; + // Cursor + cursor: pointer; + a svg { margin: 8px; max-width: 20px; @@ -227,14 +233,13 @@ // The toolbar preferences #toolbar-position, #toolbar-theme { - a { - padding: 0 6px; - display: inline-flex; - vertical-align: top; + padding: 0 6px; + display: inline-flex; + vertical-align: top; + cursor: pointer; - &:hover { - text-decoration: none; - } + &:hover { + text-decoration: none; } } @@ -518,43 +523,43 @@ .debug-bar-dtableRow { display: table-row; } - + .debug-bar-dinlineBlock { display: inline-block; } - + .debug-bar-pointer { cursor: pointer; } - + .debug-bar-mleft4 { margin-left: 4px; } - + .debug-bar-level-0 { --level: 0; } - + .debug-bar-level-1 { --level: 1; } - + .debug-bar-level-2 { --level: 2; } - + .debug-bar-level-3 { --level: 3; } - + .debug-bar-level-4 { --level: 4; } - + .debug-bar-level-5 { --level: 5; } - + .debug-bar-level-6 { --level: 6; } diff --git a/system/Debug/Toolbar/Views/toolbar.css b/system/Debug/Toolbar/Views/toolbar.css index a3b934b68bd4..175f7725f8c8 100644 --- a/system/Debug/Toolbar/Views/toolbar.css +++ b/system/Debug/Toolbar/Views/toolbar.css @@ -6,6 +6,10 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ +[role=button] { + cursor: pointer; +} + #debug-icon { bottom: 0; position: fixed; @@ -17,6 +21,7 @@ padding: 0px; clear: both; text-align: center; + cursor: pointer; } #debug-icon a svg { margin: 8px; @@ -156,14 +161,15 @@ bottom: auto; top: 36px; } -#debug-bar #toolbar-position a, -#debug-bar #toolbar-theme a { +#debug-bar #toolbar-position, +#debug-bar #toolbar-theme { padding: 0 6px; display: inline-flex; vertical-align: top; + cursor: pointer; } -#debug-bar #toolbar-position a:hover, -#debug-bar #toolbar-theme a:hover { +#debug-bar #toolbar-position:hover, +#debug-bar #toolbar-theme:hover { text-decoration: none; } #debug-bar #debug-bar-link { From 1ceafd6727924694b2bbd8e2b839061eecb93f2a Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean Date: Sat, 2 Mar 2024 07:10:10 +0700 Subject: [PATCH 043/139] just element anchor in role button --- admin/css/debug-toolbar/toolbar.scss | 2 +- system/Debug/Toolbar/Views/toolbar.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/admin/css/debug-toolbar/toolbar.scss b/admin/css/debug-toolbar/toolbar.scss index 8d7bed21b361..dfcb7e58aeea 100644 --- a/admin/css/debug-toolbar/toolbar.scss +++ b/admin/css/debug-toolbar/toolbar.scss @@ -13,7 +13,7 @@ @import '_mixins'; @import '_settings'; -[role="button"] { +a[role="button"] { cursor: pointer; } diff --git a/system/Debug/Toolbar/Views/toolbar.css b/system/Debug/Toolbar/Views/toolbar.css index 175f7725f8c8..612a1ee873e1 100644 --- a/system/Debug/Toolbar/Views/toolbar.css +++ b/system/Debug/Toolbar/Views/toolbar.css @@ -6,7 +6,7 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ -[role=button] { +a[role=button] { cursor: pointer; } From 0fc548518e0a6f53f70ea0a3359dde927af6caf2 Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean Date: Sat, 9 Mar 2024 06:46:03 +0700 Subject: [PATCH 044/139] fix: make css button for vars --- admin/css/debug-toolbar/toolbar.scss | 10 +++++----- system/Debug/Toolbar/Views/toolbar.css | 9 +++++---- system/Debug/Toolbar/Views/toolbar.tpl.php | 14 +++++++------- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/admin/css/debug-toolbar/toolbar.scss b/admin/css/debug-toolbar/toolbar.scss index dfcb7e58aeea..e129a4b1c5b6 100644 --- a/admin/css/debug-toolbar/toolbar.scss +++ b/admin/css/debug-toolbar/toolbar.scss @@ -13,10 +13,6 @@ @import '_mixins'; @import '_settings'; -a[role="button"] { - cursor: pointer; -} - // DEBUG ICON // ========================================================================== */ @@ -39,7 +35,6 @@ a[role="button"] { clear: both; text-align: center; - // Cursor cursor: pointer; a svg { @@ -62,6 +57,10 @@ a[role="button"] { // DEBUG BAR // ========================================================================== */ +.debug-bar-vars { + cursor: pointer; +} + #debug-bar { // Position bottom: 0; @@ -247,6 +246,7 @@ a[role="button"] { #debug-bar-link { display: flex; padding: 6px; + cursor: pointer; } // The toolbar menus diff --git a/system/Debug/Toolbar/Views/toolbar.css b/system/Debug/Toolbar/Views/toolbar.css index 612a1ee873e1..4154f4c5c4ca 100644 --- a/system/Debug/Toolbar/Views/toolbar.css +++ b/system/Debug/Toolbar/Views/toolbar.css @@ -6,10 +6,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ -a[role=button] { - cursor: pointer; -} - #debug-icon { bottom: 0; position: fixed; @@ -36,6 +32,10 @@ a[role=button] { display: none; } +.debug-bar-vars { + cursor: pointer; +} + #debug-bar { bottom: 0; left: 0; @@ -175,6 +175,7 @@ a[role=button] { #debug-bar #debug-bar-link { display: flex; padding: 6px; + cursor: pointer; } #debug-bar .ci-label { display: inline-flex; diff --git a/system/Debug/Toolbar/Views/toolbar.tpl.php b/system/Debug/Toolbar/Views/toolbar.tpl.php index 4bae5b54c7c7..03500456757e 100644 --- a/system/Debug/Toolbar/Views/toolbar.tpl.php +++ b/system/Debug/Toolbar/Views/toolbar.tpl.php @@ -124,7 +124,7 @@ $items) : ?> - +

@@ -148,7 +148,7 @@ - +

Session User Data

@@ -174,7 +174,7 @@

Request ( )

- +

$_GET

@@ -191,7 +191,7 @@ - +

$_POST

@@ -208,7 +208,7 @@ - +

Headers

@@ -225,7 +225,7 @@ - +

Cookies

@@ -246,7 +246,7 @@ - +

Headers

From ee1eb7c5b0367b0cbba323127323b1e3a11bbced Mon Sep 17 00:00:00 2001 From: kenjis Date: Sun, 10 Mar 2024 17:28:20 +0900 Subject: [PATCH 045/139] fix: save() does not determine that data with an empty string id is a new record --- system/BaseModel.php | 2 +- tests/system/Models/SaveModelTest.php | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/system/BaseModel.php b/system/BaseModel.php index 8cc4cca3ba43..192e47a5cc6b 100644 --- a/system/BaseModel.php +++ b/system/BaseModel.php @@ -731,7 +731,7 @@ protected function shouldUpdate($row): bool { $id = $this->getIdValue($row); - return ! ($id === null || $id === []); + return ! ($id === null || $id === [] || $id === ''); } /** diff --git a/tests/system/Models/SaveModelTest.php b/tests/system/Models/SaveModelTest.php index b50c79599756..a4cdec41b829 100644 --- a/tests/system/Models/SaveModelTest.php +++ b/tests/system/Models/SaveModelTest.php @@ -42,6 +42,24 @@ public function testSaveNewRecordObject(): void $this->seeInDatabase('job', ['name' => 'Magician']); } + /** + * @see https://github.com/codeigniter4/CodeIgniter4/issues/8613 + */ + public function testSaveNewRecordArrayWithEmptyStringId(): void + { + $this->createModel(JobModel::class); + + $data = [ + 'id' => '', + 'name' => 'Magician', + 'description' => 'Makes peoples things dissappear.', + ]; + + $this->model->save($data); + + $this->seeInDatabase('job', ['name' => 'Magician']); + } + public function testSaveNewRecordArray(): void { $this->createModel(JobModel::class); From c85cd6d0c4946d380065b9f348dc1598bc66ffc6 Mon Sep 17 00:00:00 2001 From: "John Paul E. Balandan, CPA" Date: Sun, 31 Dec 2023 02:19:02 +0800 Subject: [PATCH 046/139] test: ensure cleanup of sqlite3 db files after test --- tests/system/Database/Live/SQLite3/GetFieldDataTest.php | 2 +- tests/system/Database/Live/SQLite3/GetIndexDataTest.php | 2 +- tests/system/Database/Migrations/MigrationRunnerTest.php | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/system/Database/Live/SQLite3/GetFieldDataTest.php b/tests/system/Database/Live/SQLite3/GetFieldDataTest.php index 319706a90e53..f2e6b7244511 100644 --- a/tests/system/Database/Live/SQLite3/GetFieldDataTest.php +++ b/tests/system/Database/Live/SQLite3/GetFieldDataTest.php @@ -32,7 +32,7 @@ protected function createForge(): void 'database' => 'database.db', 'DBDebug' => true, ]; - $this->db = db_connect($config); + $this->db = db_connect($config, false); $this->forge = Database::forge($config); } diff --git a/tests/system/Database/Live/SQLite3/GetIndexDataTest.php b/tests/system/Database/Live/SQLite3/GetIndexDataTest.php index cf05b7a7f07b..4fa2a4f31167 100644 --- a/tests/system/Database/Live/SQLite3/GetIndexDataTest.php +++ b/tests/system/Database/Live/SQLite3/GetIndexDataTest.php @@ -45,7 +45,7 @@ protected function setUp(): void 'database' => 'database.db', 'DBDebug' => true, ]; - $this->db = db_connect($config); + $this->db = db_connect($config, false); $this->forge = Database::forge($config); } diff --git a/tests/system/Database/Migrations/MigrationRunnerTest.php b/tests/system/Database/Migrations/MigrationRunnerTest.php index aac42778b9f8..af9fa2a6104f 100644 --- a/tests/system/Database/Migrations/MigrationRunnerTest.php +++ b/tests/system/Database/Migrations/MigrationRunnerTest.php @@ -470,6 +470,10 @@ public function testMigrationUsesSameConnectionAsMigrationRunner(): void $this->assertCount(2, $tables); $this->assertSame('migrations', $tables[0]); $this->assertSame('foo', $tables[1]); + + if (is_file($config['database'])) { + unlink($config['database']); + } } protected function resetTables($db = null): void From 25e3a74e1c5981967f3d1374f707457273057cc8 Mon Sep 17 00:00:00 2001 From: justbyitself <160424955+justbyitself@users.noreply.github.com> Date: Mon, 11 Mar 2024 12:25:55 +0100 Subject: [PATCH 047/139] refactor: Replace PHP_VERSION by PHP_VERSION_ID PHP_VERSION_ID is prefered at CodeIgniter4 repository. --- system/Autoloader/Autoloader.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/Autoloader/Autoloader.php b/system/Autoloader/Autoloader.php index 2f9b13c0b818..99c7079edcd2 100644 --- a/system/Autoloader/Autoloader.php +++ b/system/Autoloader/Autoloader.php @@ -346,7 +346,7 @@ public function sanitizeFilename(string $filename): string ); } if ($result === false) { - if (version_compare(PHP_VERSION, '8.0.0', '>=')) { + if (PHP_VERSION_ID >= 80000) { $message = preg_last_error_msg(); } else { $message = 'Regex error. error code: ' . preg_last_error(); From 6bcd1011e755675d9294efbf8f35545a8704ab94 Mon Sep 17 00:00:00 2001 From: justbyitself <160424955+justbyitself@users.noreply.github.com> Date: Mon, 11 Mar 2024 13:16:34 +0100 Subject: [PATCH 048/139] chore: add version-compare-func-call-to-constant rule Add Rector rule in order to replace PHP_VERSION by PHP_VERSION_ID. @samsonasik suggestion: https://github.com/codeigniter4/CodeIgniter4/pull/8619 --- rector.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rector.php b/rector.php index 6ee2738f2618..2c888f0c80ea 100644 --- a/rector.php +++ b/rector.php @@ -18,6 +18,7 @@ use Rector\CodeQuality\Rector\FuncCall\SimplifyRegexPatternRector; use Rector\CodeQuality\Rector\FuncCall\SimplifyStrposLowerRector; use Rector\CodeQuality\Rector\FuncCall\SingleInArrayToCompareRector; +use Rector\CodingStyle\Rector\FuncCall\VersionCompareFuncCallToConstantRector; use Rector\CodeQuality\Rector\FunctionLike\SimplifyUselessVariableRector; use Rector\CodeQuality\Rector\If_\CombineIfRector; use Rector\CodeQuality\Rector\If_\ShortenElseIfRector; @@ -149,6 +150,7 @@ $rectorConfig->rule(CompleteDynamicPropertiesRector::class); $rectorConfig->rule(BooleanInIfConditionRuleFixerRector::class); $rectorConfig->rule(SingleInArrayToCompareRector::class); + $rectorConfig->rule(VersionCompareFuncCallToConstantRector::class); $rectorConfig ->ruleWithConfiguration(StringClassNameToClassConstantRector::class, [ From f3e53914b770a243da86890427d08cb1c6f41e70 Mon Sep 17 00:00:00 2001 From: justbyitself Date: Mon, 11 Mar 2024 22:52:34 +0100 Subject: [PATCH 049/139] refactor: apply cs-fix and rector --- rector.php | 2 +- system/Autoloader/Autoloader.php | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/rector.php b/rector.php index 2c888f0c80ea..5e19e8e01413 100644 --- a/rector.php +++ b/rector.php @@ -18,7 +18,6 @@ use Rector\CodeQuality\Rector\FuncCall\SimplifyRegexPatternRector; use Rector\CodeQuality\Rector\FuncCall\SimplifyStrposLowerRector; use Rector\CodeQuality\Rector\FuncCall\SingleInArrayToCompareRector; -use Rector\CodingStyle\Rector\FuncCall\VersionCompareFuncCallToConstantRector; use Rector\CodeQuality\Rector\FunctionLike\SimplifyUselessVariableRector; use Rector\CodeQuality\Rector\If_\CombineIfRector; use Rector\CodeQuality\Rector\If_\ShortenElseIfRector; @@ -29,6 +28,7 @@ use Rector\CodingStyle\Rector\ClassMethod\FuncGetArgsToVariadicParamRector; use Rector\CodingStyle\Rector\ClassMethod\MakeInheritedMethodVisibilitySameAsParentRector; use Rector\CodingStyle\Rector\FuncCall\CountArrayToEmptyArrayComparisonRector; +use Rector\CodingStyle\Rector\FuncCall\VersionCompareFuncCallToConstantRector; use Rector\Config\RectorConfig; use Rector\DeadCode\Rector\ClassMethod\RemoveUnusedConstructorParamRector; use Rector\DeadCode\Rector\ClassMethod\RemoveUnusedPrivateMethodRector; diff --git a/system/Autoloader/Autoloader.php b/system/Autoloader/Autoloader.php index 99c7079edcd2..088c850efa58 100644 --- a/system/Autoloader/Autoloader.php +++ b/system/Autoloader/Autoloader.php @@ -346,11 +346,7 @@ public function sanitizeFilename(string $filename): string ); } if ($result === false) { - if (PHP_VERSION_ID >= 80000) { - $message = preg_last_error_msg(); - } else { - $message = 'Regex error. error code: ' . preg_last_error(); - } + $message = PHP_VERSION_ID >= 80000 ? preg_last_error_msg() : 'Regex error. error code: ' . preg_last_error(); throw new RuntimeException($message . '. filename: "' . $filename . '"'); } From 020770011dcc4b2b8e045f7340b68635e6fabb50 Mon Sep 17 00:00:00 2001 From: justbyitself Date: Tue, 12 Mar 2024 22:53:49 +0100 Subject: [PATCH 050/139] refactor: apply early return pattern More readable and a bit shorter --- .../Routes/ControllerMethodReader.php | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/system/Commands/Utilities/Routes/ControllerMethodReader.php b/system/Commands/Utilities/Routes/ControllerMethodReader.php index 31bcde12dfb8..4365cb27dfd1 100644 --- a/system/Commands/Utilities/Routes/ControllerMethodReader.php +++ b/system/Commands/Utilities/Routes/ControllerMethodReader.php @@ -159,19 +159,17 @@ private function getRouteWithoutController( string $classname, string $methodName ): array { - $output = []; - - if ($classShortname === $defaultController) { - $pattern = '#' . preg_quote(lcfirst($defaultController), '#') . '\z#'; - $routeWithoutController = rtrim(preg_replace($pattern, '', $uriByClass), '/'); - $routeWithoutController = $routeWithoutController ?: '/'; - - $output[] = [ - 'route' => $routeWithoutController, - 'handler' => '\\' . $classname . '::' . $methodName, - ]; + if ($classShortname !== $defaultController) { + return []; } - return $output; + $pattern = '#' . preg_quote(lcfirst($defaultController), '#') . '\z#'; + $routeWithoutController = rtrim(preg_replace($pattern, '', $uriByClass), '/'); + $routeWithoutController = $routeWithoutController ?: '/'; + + return [ + 'route' => $routeWithoutController, + 'handler' => '\\' . $classname . '::' . $methodName, + ]; } } From 647d20b96967f5bb6bde71097d0236bda272d5e9 Mon Sep 17 00:00:00 2001 From: justbyitself Date: Tue, 12 Mar 2024 23:17:22 +0100 Subject: [PATCH 051/139] refactor: apply early return pattern (fix) Fix. --- system/Commands/Utilities/Routes/ControllerMethodReader.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/Commands/Utilities/Routes/ControllerMethodReader.php b/system/Commands/Utilities/Routes/ControllerMethodReader.php index 4365cb27dfd1..4a37b9560324 100644 --- a/system/Commands/Utilities/Routes/ControllerMethodReader.php +++ b/system/Commands/Utilities/Routes/ControllerMethodReader.php @@ -167,9 +167,9 @@ private function getRouteWithoutController( $routeWithoutController = rtrim(preg_replace($pattern, '', $uriByClass), '/'); $routeWithoutController = $routeWithoutController ?: '/'; - return [ + return [[ 'route' => $routeWithoutController, 'handler' => '\\' . $classname . '::' . $methodName, - ]; + ]]; } } From dffec7fb30225aad7c4475412b9b643b31533c0b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Mar 2024 15:44:53 +0000 Subject: [PATCH 052/139] chore(deps-dev): update rector/rector requirement from 1.0.2 to 1.0.3 Updates the requirements on [rector/rector](https://github.com/rectorphp/rector) to permit the latest version. - [Release notes](https://github.com/rectorphp/rector/releases) - [Commits](https://github.com/rectorphp/rector/compare/1.0.2...1.0.3) --- updated-dependencies: - dependency-name: rector/rector dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 5a4455125bc8..4021508a3a87 100644 --- a/composer.json +++ b/composer.json @@ -34,7 +34,7 @@ "phpunit/phpcov": "^8.2", "phpunit/phpunit": "^9.1", "predis/predis": "^1.1 || ^2.0", - "rector/rector": "1.0.2", + "rector/rector": "1.0.3", "vimeo/psalm": "^5.0" }, "replace": { From c7c6ff00b2e474aaa94259ef68c7dc14f5688da6 Mon Sep 17 00:00:00 2001 From: kenjis Date: Fri, 15 Mar 2024 09:44:29 +0900 Subject: [PATCH 053/139] chore: update test-deptrac.yml --- .github/workflows/test-deptrac.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-deptrac.yml b/.github/workflows/test-deptrac.yml index 67c9843f334e..0f369a5c6786 100644 --- a/.github/workflows/test-deptrac.yml +++ b/.github/workflows/test-deptrac.yml @@ -74,7 +74,7 @@ jobs: - name: Run architectural inspection run: | - sudo phive --no-progress install --global qossmic/deptrac --trust-gpg-keys B8F640134AB1782E - deptrac analyze --cache-file=build/deptrac.cache + composer require --dev qossmic/deptrac-shim + vendor/bin/deptrac analyze --cache-file=build/deptrac.cache env: GITHUB_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 9c38271a3057c535c1ece114cc6c9dd501911056 Mon Sep 17 00:00:00 2001 From: kenjis Date: Fri, 15 Mar 2024 08:53:22 +0900 Subject: [PATCH 054/139] refactor: move footer info to top It is useful when reporting errors. --- app/Views/errors/html/debug.css | 5 +---- app/Views/errors/html/error_exception.php | 19 ++++++------------- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/app/Views/errors/html/debug.css b/app/Views/errors/html/debug.css index 98f54dbc8a01..63c3c662cbaa 100644 --- a/app/Views/errors/html/debug.css +++ b/app/Views/errors/html/debug.css @@ -65,13 +65,10 @@ p.lead { display: inline; } -.footer { +.environment { background: var(--dark-bg-color); color: var(--light-text-color); -} -.footer .container { border-top: 1px solid #e7e7e7; - margin-top: 1rem; text-align: center; } diff --git a/app/Views/errors/html/error_exception.php b/app/Views/errors/html/error_exception.php index 406b48ec6772..047c2f4cd987 100644 --- a/app/Views/errors/html/error_exception.php +++ b/app/Views/errors/html/error_exception.php @@ -23,6 +23,12 @@
+
+ Displayed at — + PHP: — + CodeIgniter: -- + Environment: +

getCode() ? ' #' . $exception->getCode() : '') ?>

@@ -401,18 +407,5 @@

- - From 89f7ede4ec314a20b106fc7bcaab3ba59e621191 Mon Sep 17 00:00:00 2001 From: kenjis Date: Fri, 15 Mar 2024 09:14:47 +0900 Subject: [PATCH 055/139] fix: remove invalid letter-spacing --- app/Views/errors/html/debug.css | 1 - 1 file changed, 1 deletion(-) diff --git a/app/Views/errors/html/debug.css b/app/Views/errors/html/debug.css index 63c3c662cbaa..c233c6a63a3c 100644 --- a/app/Views/errors/html/debug.css +++ b/app/Views/errors/html/debug.css @@ -19,7 +19,6 @@ body { } h1 { font-weight: lighter; - letter-spacing: 0.8; font-size: 3rem; color: var(--dark-text-color); margin: 0; From 93fe3adafced03f237d295af6515951d2b0185a1 Mon Sep 17 00:00:00 2001 From: kenjis Date: Fri, 15 Mar 2024 09:16:22 +0900 Subject: [PATCH 056/139] refactor: remove redundant rem --- app/Views/errors/html/debug.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Views/errors/html/debug.css b/app/Views/errors/html/debug.css index c233c6a63a3c..b133b054584f 100644 --- a/app/Views/errors/html/debug.css +++ b/app/Views/errors/html/debug.css @@ -108,7 +108,7 @@ p.lead { } .tabs a:link, .tabs a:visited { - padding: 0rem 1rem; + padding: 0 1rem; line-height: 2.7; text-decoration: none; color: var(--dark-text-color); From 2f009ca5e2db50554d2033e4d9e90dc37fa97679 Mon Sep 17 00:00:00 2001 From: kenjis Date: Fri, 15 Mar 2024 09:18:16 +0900 Subject: [PATCH 057/139] refactor: tweaks css --- app/Views/errors/html/debug.css | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/app/Views/errors/html/debug.css b/app/Views/errors/html/debug.css index b133b054584f..bbff6bf84e54 100644 --- a/app/Views/errors/html/debug.css +++ b/app/Views/errors/html/debug.css @@ -43,7 +43,7 @@ p.lead { color: var(--dark-text-color); } .header .container { - padding: 1rem 1.75rem 1.75rem 1.75rem; + padding: 1rem; } .header h1 { font-size: 2.5rem; @@ -148,9 +148,6 @@ p.lead { border-radius: 5px; color: #31708f; } -ul, ol { - line-height: 1.8; -} table { width: 100%; From 50409e80fcada8f8ef5157918f83ddc11ced80c9 Mon Sep 17 00:00:00 2001 From: kenjis Date: Fri, 15 Mar 2024 10:54:51 +0900 Subject: [PATCH 058/139] refactor: remove border-top --- app/Views/errors/html/debug.css | 1 - 1 file changed, 1 deletion(-) diff --git a/app/Views/errors/html/debug.css b/app/Views/errors/html/debug.css index bbff6bf84e54..500013df49f1 100644 --- a/app/Views/errors/html/debug.css +++ b/app/Views/errors/html/debug.css @@ -67,7 +67,6 @@ p.lead { .environment { background: var(--dark-bg-color); color: var(--light-text-color); - border-top: 1px solid #e7e7e7; text-align: center; } From 199e3855b72ba60e78450b59ed0b209dde2cc0b3 Mon Sep 17 00:00:00 2001 From: kenjis Date: Fri, 15 Mar 2024 11:00:50 +0900 Subject: [PATCH 059/139] docs: add upgrade_447 --- user_guide_src/source/installation/upgrade_447.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/user_guide_src/source/installation/upgrade_447.rst b/user_guide_src/source/installation/upgrade_447.rst index 07f85330b4ed..45eed909332e 100644 --- a/user_guide_src/source/installation/upgrade_447.rst +++ b/user_guide_src/source/installation/upgrade_447.rst @@ -16,6 +16,14 @@ Please refer to the upgrade instructions corresponding to your installation meth Mandatory File Changes ********************** +Error Files +=========== + +The error page has been updated. Please update the following files: + +- app/Views/errors/html/debug.css +- app/Views/errors/html/error_exception.php + **************** Breaking Changes **************** From d8945671f6b8cb44b210d16175dfde9a87c13eeb Mon Sep 17 00:00:00 2001 From: kenjis Date: Fri, 15 Mar 2024 11:56:19 +0900 Subject: [PATCH 060/139] refactor: add padding to environment class --- app/Views/errors/html/debug.css | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Views/errors/html/debug.css b/app/Views/errors/html/debug.css index 500013df49f1..6a050c8bb462 100644 --- a/app/Views/errors/html/debug.css +++ b/app/Views/errors/html/debug.css @@ -68,6 +68,7 @@ p.lead { background: var(--dark-bg-color); color: var(--light-text-color); text-align: center; + padding: 0.2rem; } .source { From 5516b731804d41e504613571cd487be2ebe9b8b1 Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean <97607754+ddevsr@users.noreply.github.com> Date: Fri, 15 Mar 2024 11:37:29 +0700 Subject: [PATCH 061/139] Update test-deptrac.yml --- .github/workflows/test-deptrac.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-deptrac.yml b/.github/workflows/test-deptrac.yml index 0f369a5c6786..fecb289b1b63 100644 --- a/.github/workflows/test-deptrac.yml +++ b/.github/workflows/test-deptrac.yml @@ -43,7 +43,7 @@ jobs: uses: shivammathur/setup-php@v2 with: php-version: '8.1' - tools: composer, phive + tools: composer extensions: intl, json, mbstring, gd, mysqlnd, xdebug, xml, sqlite3 - name: Validate composer.json From 176a50ff365cb7db369b656ad68e5f934ef70675 Mon Sep 17 00:00:00 2001 From: Mattias Sandstrom <1013635+tangix@users.noreply.github.com> Date: Fri, 15 Mar 2024 13:32:17 +0100 Subject: [PATCH 062/139] Update connection docs with information on how to connect to a MySQL server over a socket. --- .../source/database/configuration.rst | 10 +++++++++ .../source/database/configuration/011.php | 21 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 user_guide_src/source/database/configuration/011.php diff --git a/user_guide_src/source/database/configuration.rst b/user_guide_src/source/database/configuration.rst index 128e28d9eeef..3e58c0db4326 100644 --- a/user_guide_src/source/database/configuration.rst +++ b/user_guide_src/source/database/configuration.rst @@ -66,6 +66,16 @@ add the config variables as a query string: database character set), which are present in the rest of the configuration fields, CodeIgniter will append them. +Configuring a MySQL socket connection +------------------------------------- + +To connect to a MySQL server over a filesystem socket, the path to the socket should be specified in +the ``'hostname'`` setting. CodeIgniter's MySQLi driver will notice this and configure the +connection properly. + +.. literalinclude:: configuration/011.php + :lines: 11-18 + Failovers --------- diff --git a/user_guide_src/source/database/configuration/011.php b/user_guide_src/source/database/configuration/011.php new file mode 100644 index 000000000000..dbdc9d133433 --- /dev/null +++ b/user_guide_src/source/database/configuration/011.php @@ -0,0 +1,21 @@ + '/cloudsql/toolbox-tests:europe-north1:toolbox-db"', + // ... + 'DBDriver' => 'MySQLi', + // ... + ]; + + // ... +} From 5750dc84faeb6a7a6f9e559ee54ef11f5873e163 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20Sandstr=C3=B6m?= <1013635+tangix@users.noreply.github.com> Date: Sat, 16 Mar 2024 09:49:29 +0100 Subject: [PATCH 063/139] Update user_guide_src/source/database/configuration/011.php Co-authored-by: kenjis --- user_guide_src/source/database/configuration/011.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user_guide_src/source/database/configuration/011.php b/user_guide_src/source/database/configuration/011.php index dbdc9d133433..01a0e876a3c8 100644 --- a/user_guide_src/source/database/configuration/011.php +++ b/user_guide_src/source/database/configuration/011.php @@ -11,7 +11,7 @@ class Database extends Config // MySQLi over a socket public array $default = [ // ... - 'hostname' => '/cloudsql/toolbox-tests:europe-north1:toolbox-db"', + 'hostname' => '/cloudsql/toolbox-tests:europe-north1:toolbox-db', // ... 'DBDriver' => 'MySQLi', // ... From 343cc457a07ab11d2887dc32f98ce4923dbc14e3 Mon Sep 17 00:00:00 2001 From: Mattias Sandstrom <1013635+tangix@users.noreply.github.com> Date: Sat, 16 Mar 2024 09:52:52 +0100 Subject: [PATCH 064/139] Applied kenjis' changes --- user_guide_src/source/database/configuration.rst | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/user_guide_src/source/database/configuration.rst b/user_guide_src/source/database/configuration.rst index 3e58c0db4326..9bfda4699c57 100644 --- a/user_guide_src/source/database/configuration.rst +++ b/user_guide_src/source/database/configuration.rst @@ -200,3 +200,19 @@ Explanation of Values: etc.) not all values will be needed. For example, when using ``SQLite3`` you will not need to supply a username or password, and the database name will be the path to your database file. + +MySQLi +====== + +hostname +-------- + +Configuring a Socket Connection +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +To connect to a MySQL server over a filesystem socket, the path to the socket should be specified in +the ``'hostname'`` setting. CodeIgniter's MySQLi driver will notice this and configure the +connection properly. + +.. literalinclude:: configuration/011.php + :lines: 11-18 \ No newline at end of file From 2ae662807b0197d84203c844d3a5d9e03fae61ba Mon Sep 17 00:00:00 2001 From: Mattias Sandstrom <1013635+tangix@users.noreply.github.com> Date: Sat, 16 Mar 2024 09:53:57 +0100 Subject: [PATCH 065/139] Applied them again... --- user_guide_src/source/database/configuration.rst | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/user_guide_src/source/database/configuration.rst b/user_guide_src/source/database/configuration.rst index 9bfda4699c57..2239c65799e2 100644 --- a/user_guide_src/source/database/configuration.rst +++ b/user_guide_src/source/database/configuration.rst @@ -66,16 +66,6 @@ add the config variables as a query string: database character set), which are present in the rest of the configuration fields, CodeIgniter will append them. -Configuring a MySQL socket connection -------------------------------------- - -To connect to a MySQL server over a filesystem socket, the path to the socket should be specified in -the ``'hostname'`` setting. CodeIgniter's MySQLi driver will notice this and configure the -connection properly. - -.. literalinclude:: configuration/011.php - :lines: 11-18 - Failovers --------- From 9a5d200f7cc6d9a041841b04de89afc234160c90 Mon Sep 17 00:00:00 2001 From: kenjis Date: Mon, 18 Mar 2024 09:51:58 +0900 Subject: [PATCH 066/139] chore: enable checkMissingIterableValueType If left false, this error will continue to increase. --- phpstan-baseline.php | 10680 +++++++++++++++++++++++++++++++++++------ phpstan.neon.dist | 1 - 2 files changed, 9145 insertions(+), 1536 deletions(-) diff --git a/phpstan-baseline.php b/phpstan-baseline.php index 4e77d744241a..da28aa2fb3d5 100644 --- a/phpstan-baseline.php +++ b/phpstan-baseline.php @@ -2,3489 +2,11099 @@ $ignoreErrors = []; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type CodeIgniter\\\\HTTP\\\\CLIRequest\\|CodeIgniter\\\\HTTP\\\\IncomingRequest of property App\\\\Controllers\\\\BaseController\\:\\:\\$request is not the same as PHPDoc type CodeIgniter\\\\HTTP\\\\RequestInterface of overridden property CodeIgniter\\\\Controller\\:\\:\\$request\\.$#', + 'message' => '#^Property Config\\\\ContentSecurityPolicy\\:\\:\\$frameSrc type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/app/Controllers/BaseController.php', + 'path' => __DIR__ . '/app/Config/ContentSecurityPolicy.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to function method_exists\\(\\) with \'Composer\\\\\\\\InstalledVersions\' and \'getAllRawData\' will always evaluate to true\\.$#', + 'message' => '#^Property Config\\\\Database\\:\\:\\$default type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Autoloader/Autoloader.php', + 'path' => __DIR__ . '/app/Config/Database.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property Config\\\\Autoload\\:\\:\\$helpers \\(array\\\\) in isset\\(\\) is not nullable\\.$#', + 'message' => '#^Property Config\\\\Database\\:\\:\\$tests type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Autoloader/Autoloader.php', + 'path' => __DIR__ . '/app/Config/Database.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\|string given\\.$#', + 'message' => '#^Property Config\\\\Exceptions\\:\\:\\$ignoreCodes type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Autoloader/FileLocator.php', + 'path' => __DIR__ . '/app/Config/Exceptions.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 6, - 'path' => __DIR__ . '/system/Autoloader/FileLocator.php', + 'message' => '#^Property Config\\\\Exceptions\\:\\:\\$sensitiveDataInTrace type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/app/Config/Exceptions.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:chunk\\(\\) has parameter \\$userFunc with no signature specified for Closure\\.$#', + 'message' => '#^Property Config\\\\Filters\\:\\:\\$filters type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', + 'path' => __DIR__ . '/app/Config/Filters.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, array\\ given on the right side\\.$#', + 'message' => '#^Property Config\\\\Filters\\:\\:\\$methods type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', + 'path' => __DIR__ . '/app/Config/Filters.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, array\\|int\\|string\\|null given on the left side\\.$#', + 'message' => '#^Property Config\\\\Logger\\:\\:\\$handlers type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', + 'path' => __DIR__ . '/app/Config/Logger.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, array\\|null given\\.$#', + 'message' => '#^Property Config\\\\Logger\\:\\:\\$threshold type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', + 'path' => __DIR__ . '/app/Config/Logger.php', ]; $ignoreErrors[] = [ - 'message' => '#^Strict comparison using \\!\\=\\= between mixed and null will always evaluate to true\\.$#', + 'message' => '#^Property Config\\\\Mimes\\:\\:\\$mimes type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', + 'path' => __DIR__ . '/app/Config/Mimes.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/CLI/BaseCommand.php', + 'message' => '#^Property Config\\\\Routing\\:\\:\\$moduleRoutes type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/app/Config/Routing.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'ANSICON\' directly on \\$_SERVER is discouraged\\.$#', + 'message' => '#^Property Config\\\\Routing\\:\\:\\$routeFiles type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', + 'path' => __DIR__ . '/app/Config/Routing.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'NO_COLOR\' directly on \\$_SERVER is discouraged\\.$#', + 'message' => '#^Property Config\\\\Toolbar\\:\\:\\$watchedDirectories type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', + 'path' => __DIR__ . '/app/Config/Toolbar.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'argv\' directly on \\$_SERVER is discouraged\\.$#', + 'message' => '#^Property Config\\\\Toolbar\\:\\:\\$watchedExtensions type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', + 'path' => __DIR__ . '/app/Config/Toolbar.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, array given on the right side\\.$#', + 'message' => '#^PHPDoc type CodeIgniter\\\\HTTP\\\\CLIRequest\\|CodeIgniter\\\\HTTP\\\\IncomingRequest of property App\\\\Controllers\\\\BaseController\\:\\:\\$request is not the same as PHPDoc type CodeIgniter\\\\HTTP\\\\RequestInterface of overridden property CodeIgniter\\\\Controller\\:\\:\\$request\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', + 'path' => __DIR__ . '/app/Controllers/BaseController.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, array\\ given on the right side\\.$#', + 'message' => '#^Property App\\\\Controllers\\\\BaseController\\:\\:\\$helpers type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', + 'path' => __DIR__ . '/app/Controllers/BaseController.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, array\\|string\\|null given on the left side\\.$#', + 'message' => '#^Call to function method_exists\\(\\) with \'Composer\\\\\\\\InstalledVersions\' and \'getAllRawData\' will always evaluate to true\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', + 'path' => __DIR__ . '/system/Autoloader/Autoloader.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, array given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Autoloader\\\\Autoloader\\:\\:getNamespace\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', + 'path' => __DIR__ . '/system/Autoloader/Autoloader.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, string given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Autoloader\\\\Autoloader\\:\\:loadComposerNamespaces\\(\\) has parameter \\$composerPackages with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', + 'path' => __DIR__ . '/system/Autoloader/Autoloader.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#', + 'message' => '#^Property Config\\\\Autoload\\:\\:\\$helpers \\(array\\\\) in isset\\(\\) is not nullable\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', + 'path' => __DIR__ . '/system/Autoloader/Autoloader.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in \\|\\|, string given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\Autoloader\\\\FileLocator\\:\\:search\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', + 'path' => __DIR__ . '/system/Autoloader/FileLocator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in \\|\\|, string\\|null given on the left side\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/CLI/CLI.php', + 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\|string given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Autoloader/FileLocator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in \\|\\|, string\\|null given on the right side\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/CLI/CLI.php', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 6, + 'path' => __DIR__ . '/system/Autoloader/FileLocator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/system/CLI/CLI.php', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:__call\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, string given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:__get\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/BaseHandler.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to function property_exists\\(\\) with Config\\\\Cache and \'file\' will always evaluate to true\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:chunk\\(\\) has parameter \\$userFunc with no signature specified for Closure\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:cleanValidationRules\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:cleanValidationRules\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Variable \\$result might not be defined\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:delete\\(\\) has parameter \\$id with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doDelete\\(\\) has parameter \\$id with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/PredisHandler.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doErrors\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Database/CreateDatabase.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doFind\\(\\) has parameter \\$id with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Database/MigrateStatus.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, array\\, array\\\\> given\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doFind\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Database/MigrateStatus.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$params \\(array\\\\) of method CodeIgniter\\\\Commands\\\\Database\\\\MigrateStatus\\:\\:run\\(\\) should be contravariant with parameter \\$params \\(array\\\\) of method CodeIgniter\\\\CLI\\\\BaseCommand\\:\\:run\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doFindAll\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Database/MigrateStatus.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doFindColumn\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Database/Seed.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Database\\\\ShowTableInfo\\:\\:showAllTables\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doFirst\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Database/ShowTableInfo.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Database\\\\ShowTableInfo\\:\\:showDataOfTable\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doInsertBatch\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Database/ShowTableInfo.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'encryption\\.key\' directly on \\$_SERVER is discouraged\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doProtectFields\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Encryption/GenerateKey.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doProtectFieldsForInsert\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CellGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doUpdate\\(\\) has parameter \\$id with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CellGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doUpdateBatch\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:fillPlaceholders\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:fillPlaceholders\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:fillPlaceholders\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:find\\(\\) has parameter \\$id with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:findAll\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CommandGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:findColumn\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CommandGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:first\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:getIdValue\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:getValidationMessages\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:getValidationRules\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:getValidationRules\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:idValue\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ConfigGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:idValue\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ConfigGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:paginate\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:setAllowedFields\\(\\) has parameter \\$allowedFields with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:setCreatedField\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:setUpdatedField\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:setValidationMessage\\(\\) has parameter \\$fieldMessages with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:setValidationMessages\\(\\) has parameter \\$validationMessages with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ControllerGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:setValidationRule\\(\\) has parameter \\$fieldRules with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ControllerGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:setValidationRules\\(\\) has parameter \\$validationRules with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:transformDataToArray\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:trigger\\(\\) has parameter \\$eventData with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:trigger\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an elseif condition, mixed given\\.$#', + 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:update\\(\\) has parameter \\$id with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, mixed given\\.$#', + 'message' => '#^Only booleans are allowed in &&, array\\ given on the right side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in \\|\\|, mixed given on the left side\\.$#', + 'message' => '#^Only booleans are allowed in &&, array\\|int\\|string\\|null given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in \\|\\|, mixed given on the right side\\.$#', + 'message' => '#^Only booleans are allowed in a ternary operator condition, array\\|null given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', + 'message' => '#^Property CodeIgniter\\\\BaseModel\\:\\:\\$afterDelete type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', + 'message' => '#^Property CodeIgniter\\\\BaseModel\\:\\:\\$afterFind type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\EntityGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\BaseModel\\:\\:\\$afterInsert type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\EntityGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\BaseModel\\:\\:\\$afterInsertBatch type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', + 'message' => '#^Property CodeIgniter\\\\BaseModel\\:\\:\\$afterUpdate type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', + 'message' => '#^Property CodeIgniter\\\\BaseModel\\:\\:\\$afterUpdateBatch type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', + 'message' => '#^Property CodeIgniter\\\\BaseModel\\:\\:\\$allowedFields type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', + 'message' => '#^Property CodeIgniter\\\\BaseModel\\:\\:\\$beforeDelete type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', + 'message' => '#^Property CodeIgniter\\\\BaseModel\\:\\:\\$beforeFind type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\FilterGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\BaseModel\\:\\:\\$beforeInsert type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\FilterGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\BaseModel\\:\\:\\$beforeInsertBatch type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', + 'message' => '#^Property CodeIgniter\\\\BaseModel\\:\\:\\$beforeUpdate type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', + 'message' => '#^Property CodeIgniter\\\\BaseModel\\:\\:\\$beforeUpdateBatch type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', + 'message' => '#^Property CodeIgniter\\\\BaseModel\\:\\:\\$validationMessages type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', + 'message' => '#^Property CodeIgniter\\\\BaseModel\\:\\:\\$validationRules type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/BaseModel.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Strict comparison using \\!\\=\\= between mixed and null will always evaluate to true\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/BaseModel.php', ]; $ignoreErrors[] = [ 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', + 'path' => __DIR__ . '/system/CLI/BaseCommand.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\MigrationGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\BaseCommand\\:\\:__get\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', + 'path' => __DIR__ . '/system/CLI/BaseCommand.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\MigrationGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\BaseCommand\\:\\:call\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', + 'path' => __DIR__ . '/system/CLI/BaseCommand.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\BaseCommand\\:\\:getPad\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', + 'path' => __DIR__ . '/system/CLI/BaseCommand.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', + 'message' => '#^Accessing offset \'ANSICON\' directly on \\$_SERVER is discouraged\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', + 'message' => '#^Accessing offset \'NO_COLOR\' directly on \\$_SERVER is discouraged\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, mixed given\\.$#', + 'message' => '#^Accessing offset \'argv\' directly on \\$_SERVER is discouraged\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:getOptions\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:getSegments\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ModelGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:isZeroOptions\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ModelGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:printKeysAndValues\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:prompt\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:prompt\\(\\) has parameter \\$validation with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:promptByKey\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, mixed given\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:promptByKey\\(\\) has parameter \\$text with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:promptByKey\\(\\) has parameter \\$validation with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:promptByMultipleKeys\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ScaffoldGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:promptByMultipleKeys\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ScaffoldGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:table\\(\\) has parameter \\$tbody with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:table\\(\\) has parameter \\$thead with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:validate\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', + 'message' => '#^Only booleans are allowed in &&, array given on the right side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an elseif condition, mixed given\\.$#', + 'message' => '#^Only booleans are allowed in &&, array\\ given on the right side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, mixed given\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', + 'message' => '#^Only booleans are allowed in &&, array\\|string\\|null given on the left side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', + 'message' => '#^Only booleans are allowed in a negated boolean, array given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', + 'message' => '#^Only booleans are allowed in a ternary operator condition, string given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SeederGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', + 'message' => '#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SeederGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'message' => '#^Only booleans are allowed in \\|\\|, string given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', + 'message' => '#^Only booleans are allowed in \\|\\|, string\\|null given on the left side\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', + 'message' => '#^Only booleans are allowed in \\|\\|, string\\|null given on the right side\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/CLI/CLI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\CLI\\\\CLI\\:\\:\\$options type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', + 'message' => '#^Property CodeIgniter\\\\CLI\\\\CLI\\:\\:\\$segments type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', + 'count' => 5, + 'path' => __DIR__ . '/system/CLI/CLI.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\Commands\\:\\:getCommandAlternatives\\(\\) has parameter \\$collection with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/CLI/Commands.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SessionMigrationGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\Commands\\:\\:getCommandAlternatives\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', + 'path' => __DIR__ . '/system/CLI/Commands.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SessionMigrationGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\Commands\\:\\:getCommands\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', + 'path' => __DIR__ . '/system/CLI/Commands.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\Commands\\:\\:run\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', + 'path' => __DIR__ . '/system/CLI/Commands.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\Commands\\:\\:verifyCommand\\(\\) has parameter \\$commands with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', + 'path' => __DIR__ . '/system/CLI/Commands.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', + 'message' => '#^Property CodeIgniter\\\\CLI\\\\Commands\\:\\:\\$commands type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', + 'path' => __DIR__ . '/system/CLI/Commands.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\Console\\:\\:parseParamsForHelpOption\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/CLI/Console.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', + 'message' => '#^Method CodeIgniter\\\\CLI\\\\Console\\:\\:parseParamsForHelpOption\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/CLI/Console.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ValidationGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\CacheInterface\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', + 'path' => __DIR__ . '/system/Cache/CacheInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ValidationGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\CacheInterface\\:\\:getCacheInfo\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', + 'path' => __DIR__ . '/system/Cache/CacheInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\CacheInterface\\:\\:getMetaData\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', + 'path' => __DIR__ . '/system/Cache/CacheInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\CacheInterface\\:\\:save\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', + 'path' => __DIR__ . '/system/Cache/CacheInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\FactoriesCache\\\\FileVarExportHandler\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', + 'path' => __DIR__ . '/system/Cache/FactoriesCache/FileVarExportHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\FactoriesCache\\\\FileVarExportHandler\\:\\:save\\(\\) has parameter \\$val with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cache/FactoriesCache/FileVarExportHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\ListCommands\\:\\:listFull\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\BaseHandler\\:\\:remember\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/ListCommands.php', + 'path' => __DIR__ . '/system/Cache/Handlers/BaseHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\ListCommands\\:\\:listSimple\\(\\) has no return type specified\\.$#', + 'message' => '#^Only booleans are allowed in &&, string given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/ListCommands.php', + 'path' => __DIR__ . '/system/Cache/Handlers/BaseHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, int given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\DummyHandler\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Server/Serve.php', + 'path' => __DIR__ . '/system/Cache/Handlers/DummyHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'CI_ENVIRONMENT\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Commands/Utilities/Environment.php', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\DummyHandler\\:\\:getCacheInfo\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cache/Handlers/DummyHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\DummyHandler\\:\\:getMetaData\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Namespaces.php', + 'path' => __DIR__ . '/system/Cache/Handlers/DummyHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'HTTP_HOST\' directly on \\$_SERVER is discouraged\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\DummyHandler\\:\\:remember\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes.php', + 'path' => __DIR__ . '/system/Cache/Handlers/DummyHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Assigning non\\-falsy\\-string directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\DummyHandler\\:\\:save\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes.php', + 'path' => __DIR__ . '/system/Cache/Handlers/DummyHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, Config\\\\Routing given\\.$#', + 'message' => '#^Call to function property_exists\\(\\) with Config\\\\Cache and \'file\' will always evaluate to true\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes.php', + 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, string\\|null given\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes.php', + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Implicit array creation is not allowed \\- variable \\$filters might not exist\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandler\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php', + 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\AutoRouteCollector\\:\\:addFilters\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandler\\:\\:getCacheInfo\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php', + 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\AutoRouteCollector\\:\\:addFilters\\(\\) has parameter \\$routes with no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandler\\:\\:getDirFileInfo\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php', + 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandler\\:\\:getFileInfo\\(\\) has parameter \\$returnedValues with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/ControllerMethodReader.php', + 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandler\\:\\:getFileInfo\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes/ControllerMethodReader.php', + 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'REMOTE_ADDR\' directly on \\$_SERVER is discouraged\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandler\\:\\:getMetaData\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', + 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'REQUEST_METHOD\' directly on \\$_SERVER is discouraged\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandler\\:\\:save\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', + 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset string directly on \\$_SERVER is discouraged\\.$#', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', + 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/Common.php', + 'message' => '#^Variable \\$result might not be defined\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, string\\|null given on the left side\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Common.php', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\MemcachedHandler\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cache/Handlers/MemcachedHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Common.php', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\MemcachedHandler\\:\\:getCacheInfo\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cache/Handlers/MemcachedHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\ComposerScripts\\:\\:postUpdate\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\MemcachedHandler\\:\\:getMetaData\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/ComposerScripts.php', + 'path' => __DIR__ . '/system/Cache/Handlers/MemcachedHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'CI_ENVIRONMENT\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Config/AutoloadConfig.php', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\MemcachedHandler\\:\\:save\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cache/Handlers/MemcachedHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset non\\-falsy\\-string directly on \\$_SERVER is discouraged\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/Config/BaseConfig.php', + 'message' => '#^Property CodeIgniter\\\\Cache\\\\Handlers\\\\MemcachedHandler\\:\\:\\$config type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cache/Handlers/MemcachedHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Config/BaseService.php', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\PredisHandler\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cache/Handlers/PredisHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, array given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\PredisHandler\\:\\:getCacheInfo\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Config/BaseService.php', + 'path' => __DIR__ . '/system/Cache/Handlers/PredisHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset string directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Config/DotEnv.php', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\PredisHandler\\:\\:getMetaData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cache/Handlers/PredisHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Assigning string directly on offset string of \\$_SERVER is discouraged\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\PredisHandler\\:\\:save\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Config/DotEnv.php', + 'path' => __DIR__ . '/system/Cache/Handlers/PredisHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Config/DotEnv.php', + 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cache/Handlers/PredisHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, string given\\.$#', + 'message' => '#^Property CodeIgniter\\\\Cache\\\\Handlers\\\\PredisHandler\\:\\:\\$config type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Config/DotEnv.php', + 'path' => __DIR__ . '/system/Cache/Handlers/PredisHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, string given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\RedisHandler\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Config/Factories.php', + 'path' => __DIR__ . '/system/Cache/Handlers/RedisHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, array given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\RedisHandler\\:\\:getCacheInfo\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Config/Factories.php', + 'path' => __DIR__ . '/system/Cache/Handlers/RedisHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, string\\|null given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Config/Factories.php', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\RedisHandler\\:\\:getMetaData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cache/Handlers/RedisHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'SERVER_PROTOCOL\' directly on \\$_SERVER is discouraged\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\RedisHandler\\:\\:save\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Config/Services.php', + 'path' => __DIR__ . '/system/Cache/Handlers/RedisHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Argument \\#1 \\$name \\(\'Config\\\\\\\\Modules\'\\) passed to function config does not extend CodeIgniter\\\\\\\\Config\\\\\\\\BaseConfig\\.$#', + 'message' => '#^Property CodeIgniter\\\\Cache\\\\Handlers\\\\RedisHandler\\:\\:\\$config type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Config/Services.php', + 'path' => __DIR__ . '/system/Cache/Handlers/RedisHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\WincacheHandler\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Config/Services.php', + 'path' => __DIR__ . '/system/Cache/Handlers/WincacheHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/Config/Services.php', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\WincacheHandler\\:\\:getCacheInfo\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cache/Handlers/WincacheHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, array given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\WincacheHandler\\:\\:getMetaData\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Controller.php', + 'path' => __DIR__ . '/system/Cache/Handlers/WincacheHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$offset \\(string\\) of method CodeIgniter\\\\Cookie\\\\Cookie\\:\\:offsetSet\\(\\) should be contravariant with parameter \\$offset \\(string\\|null\\) of method ArrayAccess\\\\:\\:offsetSet\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\WincacheHandler\\:\\:save\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Cookie/Cookie.php', + 'path' => __DIR__ . '/system/Cache/Handlers/WincacheHandler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/system/Cookie/Cookie.php', + 'message' => '#^Method CodeIgniter\\\\CodeIgniter\\:\\:getPerformanceStats\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/CodeIgniter.php', ]; $ignoreErrors[] = [ 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 30, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:_whereIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Database/CreateDatabase.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:addUnionStatement\\(\\) has parameter \\$union with no signature specified for Closure\\.$#', + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Database/MigrateStatus.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:buildSubquery\\(\\) has parameter \\$builder with no signature specified for Closure\\.$#', + 'message' => '#^Only booleans are allowed in a negated boolean, array\\, array\\\\> given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Database/MigrateStatus.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:havingIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'message' => '#^Parameter \\#1 \\$params \\(array\\\\) of method CodeIgniter\\\\Commands\\\\Database\\\\MigrateStatus\\:\\:run\\(\\) should be contravariant with parameter \\$params \\(array\\\\) of method CodeIgniter\\\\CLI\\\\BaseCommand\\:\\:run\\(\\)$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Database/MigrateStatus.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:havingNotIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Database/Seed.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orHavingIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Database\\\\ShowTableInfo\\:\\:makeTableRows\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Database/ShowTableInfo.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orHavingNotIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Database\\\\ShowTableInfo\\:\\:makeTbodyForShowAllTables\\(\\) has parameter \\$tables with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Database/ShowTableInfo.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orWhereIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Database\\\\ShowTableInfo\\:\\:makeTbodyForShowAllTables\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Database/ShowTableInfo.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orWhereNotIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Database\\\\ShowTableInfo\\:\\:showAllTables\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Database/ShowTableInfo.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:resetRun\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Database\\\\ShowTableInfo\\:\\:showAllTables\\(\\) has parameter \\$tables with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Database/ShowTableInfo.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:resetSelect\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Database\\\\ShowTableInfo\\:\\:showDataOfTable\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Database/ShowTableInfo.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:resetWrite\\(\\) has no return type specified\\.$#', + 'message' => '#^Accessing offset \'encryption\\.key\' directly on \\$_SERVER is discouraged\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Encryption/GenerateKey.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:union\\(\\) has parameter \\$union with no signature specified for Closure\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Encryption\\\\GenerateKey\\:\\:confirmOverwrite\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Encryption/GenerateKey.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:unionAll\\(\\) has parameter \\$union with no signature specified for Closure\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Encryption\\\\GenerateKey\\:\\:setNewEncryptionKey\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Encryption/GenerateKey.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:whereIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:whereNotIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CellGenerator\\:\\:execute\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, TWhenNot given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CellGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an elseif condition, \\(callable\\)\\|null given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CellGenerator\\:\\:generateClass\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, TWhen given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CellGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$db \\(CodeIgniter\\\\Database\\\\BaseConnection\\) in empty\\(\\) is not falsy\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CellGenerator\\:\\:generateView\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', + 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to an undefined method CodeIgniter\\\\Database\\\\QueryInterface\\:\\:getOriginalQuery\\(\\)\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CellGenerator\\:\\:parseTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseConnection.php', + 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 13, - 'path' => __DIR__ . '/system/Database/BaseConnection.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CellGenerator\\:\\:parseTemplate\\(\\) has parameter \\$replace with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:close\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CellGenerator\\:\\:parseTemplate\\(\\) has parameter \\$search with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseConnection.php', + 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:prepare\\(\\) has parameter \\$func with no signature specified for Closure\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CellGenerator\\:\\:renderTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseConnection.php', + 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:transOff\\(\\) has no return type specified\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseConnection.php', + 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(array\\{code\\: int\\|string\\|null, message\\: string\\|null\\}\\) of method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:error\\(\\) should be covariant with return type \\(array\\\\) of method CodeIgniter\\\\Database\\\\ConnectionInterface\\\\:\\:error\\(\\)$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseConnection.php', + 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseConnection.php', + 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Database/BasePreparedQuery.php', + 'message' => '#^Property CodeIgniter\\\\Commands\\\\Generators\\\\CellGenerator\\:\\:\\$params type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\BasePreparedQuery\\:\\:execute\\(\\) has parameter \\$data with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BasePreparedQuery.php', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/CellGenerator.php', ]; $ignoreErrors[] = [ 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', 'count' => 2, - 'path' => __DIR__ . '/system/Database/BaseResult.php', + 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$className \\(class\\-string\\) of method CodeIgniter\\\\Database\\\\BaseResult\\:\\:getCustomResultObject\\(\\) should be contravariant with parameter \\$className \\(string\\) of method CodeIgniter\\\\Database\\\\ResultInterface\\\\:\\:getCustomResultObject\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CommandGenerator\\:\\:execute\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseResult.php', + 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/Database/BaseUtils.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CommandGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Config\\:\\:ensureFactory\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CommandGenerator\\:\\:generateClass\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Config.php', + 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Database/Database.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CommandGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Exceptions\\\\DataException\\:\\:forEmptyInputGiven\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CommandGenerator\\:\\:generateView\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Exceptions/DataException.php', + 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Exceptions\\\\DataException\\:\\:forFindColumnHaveMultipleColumns\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CommandGenerator\\:\\:parseTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Exceptions/DataException.php', + 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Exceptions\\\\DataException\\:\\:forInvalidAllowedFields\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CommandGenerator\\:\\:parseTemplate\\(\\) has parameter \\$replace with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Exceptions/DataException.php', + 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Exceptions\\\\DataException\\:\\:forTableNotFound\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CommandGenerator\\:\\:parseTemplate\\(\\) has parameter \\$search with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Exceptions/DataException.php', + 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 13, - 'path' => __DIR__ . '/system/Database/Forge.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\CommandGenerator\\:\\:renderTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has no return type specified\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeDefault\\(\\) has no return type specified\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeType\\(\\) has no return type specified\\.$#', + 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeUnique\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\Commands\\\\Generators\\\\CommandGenerator\\:\\:\\$params type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeUnsigned\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/CommandGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:reset\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, string given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ConfigGenerator\\:\\:execute\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$fields \\(array\\\\) does not accept array\\\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ConfigGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Migration\\:\\:down\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ConfigGenerator\\:\\:generateClass\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Migration.php', + 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Migration\\:\\:up\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ConfigGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Migration.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', + 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:addHistory\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ConfigGenerator\\:\\:generateView\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', + 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:clearHistory\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ConfigGenerator\\:\\:parseTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', + 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:ensureTable\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ConfigGenerator\\:\\:parseTemplate\\(\\) has parameter \\$replace with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', + 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:force\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ConfigGenerator\\:\\:parseTemplate\\(\\) has parameter \\$search with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', + 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:removeHistory\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ConfigGenerator\\:\\:renderTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', + 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, int\\<0, max\\> given on the right side\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, max\\> given\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', + 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', + 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, string\\|null given\\.$#', + 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', + 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\ModelFactory\\:\\:injectMock\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\Commands\\\\Generators\\\\ConfigGenerator\\:\\:\\$params type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/ModelFactory.php', + 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\ModelFactory\\:\\:reset\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/ModelFactory.php', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/ConfigGenerator.php', ]; $ignoreErrors[] = [ 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 11, - 'path' => __DIR__ . '/system/Database/MySQLi/Connection.php', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\MySQLi\\\\Connection\\:\\:_close\\(\\) should return mixed but return statement is missing\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ControllerGenerator\\:\\:execute\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MySQLi/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, int given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ControllerGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MySQLi/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, array given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ControllerGenerator\\:\\:generateClass\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MySQLi/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\MySQLi\\\\Connection\\:\\:\\$escapeChar is not the same as PHPDoc type array\\|string of overridden property CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:\\$escapeChar\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ControllerGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MySQLi/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(array\\\\) of method CodeIgniter\\\\Database\\\\MySQLi\\\\Connection\\:\\:error\\(\\) should be covariant with return type \\(array\\{code\\: int\\|string\\|null, message\\: string\\|null\\}\\) of method CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:error\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ControllerGenerator\\:\\:generateView\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MySQLi/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 6, - 'path' => __DIR__ . '/system/Database/MySQLi/Forge.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ControllerGenerator\\:\\:parseTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\MySQLi\\\\Forge\\:\\:\\$createDatabaseStr is not the same as PHPDoc type string\\|false of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$createDatabaseStr\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ControllerGenerator\\:\\:parseTemplate\\(\\) has parameter \\$replace with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MySQLi/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Access to an undefined property CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:\\$mysqli\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Database/MySQLi/PreparedQuery.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ControllerGenerator\\:\\:parseTemplate\\(\\) has parameter \\$search with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(mysqli_result\\|false\\) of method CodeIgniter\\\\Database\\\\MySQLi\\\\PreparedQuery\\:\\:_getResult\\(\\) should be covariant with return type \\(object\\|resource\\|null\\) of method CodeIgniter\\\\Database\\\\BasePreparedQuery\\\\:\\:_getResult\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ControllerGenerator\\:\\:renderTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MySQLi/PreparedQuery.php', + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MySQLi/Result.php', + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\MySQLi\\\\Utils\\:\\:\\$listDatabases is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$listDatabases\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MySQLi/Utils.php', + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\MySQLi\\\\Utils\\:\\:\\$optimizeTable is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$optimizeTable\\.$#', + 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/MySQLi/Utils.php', + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', + 'message' => '#^Only booleans are allowed in an elseif condition, mixed given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Builder\\:\\:resetSelect\\(\\) has no return type specified\\.$#', + 'message' => '#^Only booleans are allowed in an if condition, mixed given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int given\\.$#', + 'message' => '#^Only booleans are allowed in \\|\\|, mixed given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type CodeIgniter\\\\Database\\\\OCI8\\\\Connection of property CodeIgniter\\\\Database\\\\OCI8\\\\Builder\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection of overridden property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$db\\.$#', + 'message' => '#^Only booleans are allowed in \\|\\|, mixed given on the right side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Database\\\\OCI8\\\\Builder\\:\\:delete\\(\\) should be covariant with return type \\(bool\\|string\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:delete\\(\\)$#', + 'message' => '#^Property CodeIgniter\\\\Commands\\\\Generators\\\\ControllerGenerator\\:\\:\\$params type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/ControllerGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\OCI8\\\\Connection\\:\\:\\$escapeChar is not the same as PHPDoc type array\\|string of overridden property CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:\\$escapeChar\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Database\\\\OCI8\\\\Connection\\:\\:\\$resetStmtId has no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\EntityGenerator\\:\\:execute\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Database\\\\OCI8\\\\Connection\\:\\:\\$validDSNs has no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\EntityGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(array\\{code\\: int\\|string\\|null, message\\: string\\|null\\}\\) of method CodeIgniter\\\\Database\\\\OCI8\\\\Connection\\:\\:error\\(\\) should be covariant with return type \\(array\\\\) of method CodeIgniter\\\\Database\\\\ConnectionInterface\\\\:\\:error\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\EntityGenerator\\:\\:generateClass\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\EntityGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type false of property CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:\\$createDatabaseStr is not the same as PHPDoc type string\\|false of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$createDatabaseStr\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\EntityGenerator\\:\\:generateView\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type false of property CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:\\$createTableIfStr is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$createTableIfStr\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\EntityGenerator\\:\\:parseTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type false of property CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:\\$dropDatabaseStr is not the same as PHPDoc type string\\|false of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$dropDatabaseStr\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\EntityGenerator\\:\\:parseTemplate\\(\\) has parameter \\$replace with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type false of property CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:\\$dropTableIfStr is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$dropTableIfStr\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\EntityGenerator\\:\\:parseTemplate\\(\\) has parameter \\$search with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:\\$renameTableStr is not the same as PHPDoc type string\\|false of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$renameTableStr\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\EntityGenerator\\:\\:renderTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type CodeIgniter\\\\Database\\\\OCI8\\\\Connection of property CodeIgniter\\\\Database\\\\OCI8\\\\PreparedQuery\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection\\ of overridden property CodeIgniter\\\\Database\\\\BasePreparedQuery\\\\:\\:\\$db\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/PreparedQuery.php', + 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\OCI8\\\\Utils\\:\\:\\$listDatabases is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$listDatabases\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Utils.php', + 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 7, - 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', + 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\Database\\\\BaseBuilder\\) of method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:join\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\Database\\\\BaseBuilder\\)\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:join\\(\\)$#', + 'message' => '#^Property CodeIgniter\\\\Commands\\\\Generators\\\\EntityGenerator\\:\\:\\$params type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', + 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\Database\\\\BaseBuilder\\) of method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:orderBy\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\Database\\\\BaseBuilder\\)\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orderBy\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/EntityGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:decrement\\(\\) should be covariant with return type \\(bool\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:decrement\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:delete\\(\\) should be covariant with return type \\(bool\\|string\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:delete\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\FilterGenerator\\:\\:execute\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', + 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:increment\\(\\) should be covariant with return type \\(bool\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:increment\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\FilterGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', + 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:replace\\(\\) should be covariant with return type \\(CodeIgniter\\\\Database\\\\BaseResult\\|CodeIgniter\\\\Database\\\\Query\\|string\\|false\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:replace\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\FilterGenerator\\:\\:generateClass\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', + 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\FilterGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:_close\\(\\) should return mixed but return statement is missing\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\FilterGenerator\\:\\:generateView\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:buildDSN\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\FilterGenerator\\:\\:parseTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:convertDSN\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\FilterGenerator\\:\\:parseTemplate\\(\\) has parameter \\$replace with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:\\$escapeChar is not the same as PHPDoc type array\\|string of overridden property CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:\\$escapeChar\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\FilterGenerator\\:\\:parseTemplate\\(\\) has parameter \\$search with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:\\$connect_timeout has no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\FilterGenerator\\:\\:renderTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:\\$options has no type specified\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:\\$service has no type specified\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:\\$sslmode has no type specified\\.$#', + 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(array\\\\) of method CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:error\\(\\) should be covariant with return type \\(array\\{code\\: int\\|string\\|null, message\\: string\\|null\\}\\) of method CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:error\\(\\)$#', + 'message' => '#^Property CodeIgniter\\\\Commands\\\\Generators\\\\FilterGenerator\\:\\:\\$params type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', ]; $ignoreErrors[] = [ 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/FilterGenerator.php', ]; $ignoreErrors[] = [ 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\MigrationGenerator\\:\\:execute\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Forge\\:\\:_attributeType\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\MigrationGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type CodeIgniter\\\\Database\\\\Postgre\\\\Connection of property CodeIgniter\\\\Database\\\\Postgre\\\\Forge\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$db\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\MigrationGenerator\\:\\:generateClass\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\MigrationGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Result.php', + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\Postgre\\\\Utils\\:\\:\\$listDatabases is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$listDatabases\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\MigrationGenerator\\:\\:generateView\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Utils.php', + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\Postgre\\\\Utils\\:\\:\\$optimizeTable is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$optimizeTable\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\MigrationGenerator\\:\\:parseTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Utils.php', + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\PreparedQueryInterface\\:\\:execute\\(\\) has parameter \\$data with no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\MigrationGenerator\\:\\:parseTemplate\\(\\) has parameter \\$replace with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/PreparedQueryInterface.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Database/Query.php', + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Query\\:\\:compileBinds\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\MigrationGenerator\\:\\:parseTemplate\\(\\) has parameter \\$search with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Query.php', + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\QueryInterface\\:\\:setError\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\MigrationGenerator\\:\\:renderTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/QueryInterface.php', + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:freeResult\\(\\) has no return type specified\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/ResultInterface.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Access to an undefined property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$schema\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 9, - 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', + 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$selectOverride \\(bool\\) of method CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:compileSelect\\(\\) should be contravariant with parameter \\$selectOverride \\(mixed\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:compileSelect\\(\\)$#', + 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\Database\\\\BaseBuilder\\) of method CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:maxMinAvgSum\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\Database\\\\BaseBuilder\\)\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:maxMinAvgSum\\(\\)$#', + 'message' => '#^Only booleans are allowed in an if condition, mixed given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:delete\\(\\) should be covariant with return type \\(bool\\|string\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:delete\\(\\)$#', + 'message' => '#^Property CodeIgniter\\\\Commands\\\\Generators\\\\MigrationGenerator\\:\\:\\$params type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:replace\\(\\) should be covariant with return type \\(CodeIgniter\\\\Database\\\\BaseResult\\|CodeIgniter\\\\Database\\\\Query\\|string\\|false\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:replace\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/MigrationGenerator.php', ]; $ignoreErrors[] = [ 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 6, - 'path' => __DIR__ . '/system/Database/SQLSRV/Connection.php', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Connection\\:\\:_close\\(\\) should return mixed but return statement is missing\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ModelGenerator\\:\\:execute\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLSRV\\\\Connection\\:\\:\\$escapeChar is not the same as PHPDoc type array\\|string of overridden property CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:\\$escapeChar\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ModelGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(array\\\\) of method CodeIgniter\\\\Database\\\\SQLSRV\\\\Connection\\:\\:error\\(\\) should be covariant with return type \\(array\\{code\\: int\\|string\\|null, message\\: string\\|null\\}\\) of method CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:error\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ModelGenerator\\:\\:generateClass\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Access to an undefined property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$schema\\.$#', - 'count' => 13, - 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ModelGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ModelGenerator\\:\\:generateView\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:_attributeType\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ModelGenerator\\:\\:parseTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type array of property CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:\\$unsigned is not the same as PHPDoc type array\\|bool of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$unsigned\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ModelGenerator\\:\\:parseTemplate\\(\\) has parameter \\$replace with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:\\$createDatabaseStr is not the same as PHPDoc type string\\|false of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$createDatabaseStr\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ModelGenerator\\:\\:parseTemplate\\(\\) has parameter \\$search with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:\\$createTableIfStr is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$createTableIfStr\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ModelGenerator\\:\\:renderTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:\\$renameTableStr is not the same as PHPDoc type string\\|false of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$renameTableStr\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type CodeIgniter\\\\Database\\\\SQLSRV\\\\Connection of property CodeIgniter\\\\Database\\\\SQLSRV\\\\PreparedQuery\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection\\ of overridden property CodeIgniter\\\\Database\\\\BasePreparedQuery\\\\:\\:\\$db\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/PreparedQuery.php', + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Result.php', + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLSRV\\\\Utils\\:\\:\\$listDatabases is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$listDatabases\\.$#', + 'message' => '#^Only booleans are allowed in an if condition, mixed given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Utils.php', + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLSRV\\\\Utils\\:\\:\\$optimizeTable is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$optimizeTable\\.$#', + 'message' => '#^Property CodeIgniter\\\\Commands\\\\Generators\\\\ModelGenerator\\:\\:\\$params type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Utils.php', + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', 'count' => 2, - 'path' => __DIR__ . '/system/Database/SQLite3/Builder.php', + 'path' => __DIR__ . '/system/Commands/Generators/ModelGenerator.php', ]; $ignoreErrors[] = [ 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Connection.php', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Connection\\:\\:_close\\(\\) should return mixed but return statement is missing\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ScaffoldGenerator\\:\\:execute\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, string given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ScaffoldGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLite3\\\\Connection\\:\\:\\$escapeChar is not the same as PHPDoc type array\\|string of overridden property CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:\\$escapeChar\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ScaffoldGenerator\\:\\:generateClass\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Connection.php', + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(array\\\\) of method CodeIgniter\\\\Database\\\\SQLite3\\\\Connection\\:\\:error\\(\\) should be covariant with return type \\(array\\{code\\: int\\|string\\|null, message\\: string\\|null\\}\\) of method CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:error\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ScaffoldGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ScaffoldGenerator\\:\\:generateView\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\:\\:_attributeType\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ScaffoldGenerator\\:\\:parseTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type CodeIgniter\\\\Database\\\\SQLite3\\\\Connection of property CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$db\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ScaffoldGenerator\\:\\:parseTemplate\\(\\) has parameter \\$replace with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(SQLite3Result\\|false\\) of method CodeIgniter\\\\Database\\\\SQLite3\\\\PreparedQuery\\:\\:_getResult\\(\\) should be covariant with return type \\(object\\|resource\\|null\\) of method CodeIgniter\\\\Database\\\\BasePreparedQuery\\\\:\\:_getResult\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ScaffoldGenerator\\:\\:parseTemplate\\(\\) has parameter \\$search with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/PreparedQuery.php', + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Database/SQLite3/Table.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ScaffoldGenerator\\:\\:renderTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Table\\:\\:copyData\\(\\) has no return type specified\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Table.php', + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Table\\:\\:dropIndexes\\(\\) has no return type specified\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Table.php', + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLite3\\\\Utils\\:\\:\\$optimizeTable is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$optimizeTable\\.$#', + 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Utils.php', + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Seeder\\:\\:call\\(\\) has no return type specified\\.$#', + 'message' => '#^Only booleans are allowed in an elseif condition, mixed given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Database/Seeder.php', + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Database\\\\Seeder\\:\\:run\\(\\) should return mixed but return statement is missing\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Seeder.php', + 'message' => '#^Only booleans are allowed in an if condition, mixed given\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Property CodeIgniter\\\\Commands\\\\Generators\\\\ScaffoldGenerator\\:\\:\\$params type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Debug/BaseExceptionHandler.php', + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/system/Debug/Timer.php', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/ScaffoldGenerator.php', ]; $ignoreErrors[] = [ 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', 'count' => 2, - 'path' => __DIR__ . '/system/Debug/Toolbar.php', + 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SeederGenerator\\:\\:execute\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Database.php', + 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Logs.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SeederGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Log\\\\Logger\\:\\:\\$logCache \\(array\\) on left side of \\?\\? is not nullable\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SeederGenerator\\:\\:generateClass\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Logs.php', + 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to an undefined method CodeIgniter\\\\View\\\\RendererInterface\\:\\:getData\\(\\)\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SeederGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Views.php', + 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to an undefined method CodeIgniter\\\\View\\\\RendererInterface\\:\\:getPerformanceData\\(\\)\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Views.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SeederGenerator\\:\\:generateView\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'SERVER_ADDR\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Email/Email.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SeederGenerator\\:\\:parseTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'SERVER_NAME\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Email/Email.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SeederGenerator\\:\\:parseTemplate\\(\\) has parameter \\$replace with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 12, - 'path' => __DIR__ . '/system/Email/Email.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SeederGenerator\\:\\:parseTemplate\\(\\) has parameter \\$search with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, int given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SeederGenerator\\:\\:renderTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Email/Email.php', + 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, string given on the right side\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Email/Email.php', + 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, string\\|null given\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Email/Email.php', + 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Static property CodeIgniter\\\\Email\\\\Email\\:\\:\\$func_overload \\(bool\\) in isset\\(\\) is not nullable\\.$#', + 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Email/Email.php', + 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Encryption/Encryption.php', + 'message' => '#^Property CodeIgniter\\\\Commands\\\\Generators\\\\SeederGenerator\\:\\:\\$params type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', 'count' => 2, - 'path' => __DIR__ . '/system/Encryption/Handlers/OpenSSLHandler.php', + 'path' => __DIR__ . '/system/Commands/Generators/SeederGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, array\\|string\\|null given\\.$#', + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', 'count' => 2, - 'path' => __DIR__ . '/system/Encryption/Handlers/OpenSSLHandler.php', + 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Encryption/Handlers/SodiumHandler.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SessionMigrationGenerator\\:\\:execute\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$value \\(bool\\|int\\|string\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\IntBoolCast\\:\\:set\\(\\) should be contravariant with parameter \\$value \\(array\\|bool\\|float\\|int\\|object\\|string\\|null\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\BaseCast\\:\\:set\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SessionMigrationGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Entity/Cast/IntBoolCast.php', + 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$value \\(bool\\|int\\|string\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\IntBoolCast\\:\\:set\\(\\) should be contravariant with parameter \\$value \\(array\\|bool\\|float\\|int\\|object\\|string\\|null\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\CastInterface\\:\\:set\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SessionMigrationGenerator\\:\\:generateClass\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Entity/Cast/IntBoolCast.php', + 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$value \\(int\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\IntBoolCast\\:\\:get\\(\\) should be contravariant with parameter \\$value \\(array\\|bool\\|float\\|int\\|object\\|string\\|null\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\BaseCast\\:\\:get\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SessionMigrationGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Entity/Cast/IntBoolCast.php', + 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$value \\(int\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\IntBoolCast\\:\\:get\\(\\) should be contravariant with parameter \\$value \\(array\\|bool\\|float\\|int\\|object\\|string\\|null\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\CastInterface\\:\\:get\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SessionMigrationGenerator\\:\\:generateView\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Entity/Cast/IntBoolCast.php', + 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Entity/Entity.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SessionMigrationGenerator\\:\\:parseTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Argument \\#1 \\$name \\(\'Config\\\\\\\\Modules\'\\) passed to function config does not extend CodeIgniter\\\\\\\\Config\\\\\\\\BaseConfig\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SessionMigrationGenerator\\:\\:parseTemplate\\(\\) has parameter \\$replace with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Events/Events.php', + 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Events\\\\Events\\:\\:on\\(\\) has parameter \\$callback with no signature specified for callable\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SessionMigrationGenerator\\:\\:parseTemplate\\(\\) has parameter \\$search with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Events/Events.php', + 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Events\\\\Events\\:\\:removeListener\\(\\) has parameter \\$listener with no signature specified for callable\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\SessionMigrationGenerator\\:\\:renderTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Events/Events.php', + 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Events/Events.php', + 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type int of property CodeIgniter\\\\Exceptions\\\\PageNotFoundException\\:\\:\\$code is not the same as PHPDoc type mixed of overridden property Exception\\:\\:\\$code\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Exceptions/PageNotFoundException.php', + 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Files/File.php', + 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Files\\\\File\\:\\:\\$size \\(int\\) on left side of \\?\\? is not nullable\\.$#', + 'message' => '#^Property CodeIgniter\\\\Commands\\\\Generators\\\\SessionMigrationGenerator\\:\\:\\$params type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Files/File.php', + 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', ]; $ignoreErrors[] = [ 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Files/File.php', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/SessionMigrationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Argument \\#1 \\$name \\(\'Config\\\\\\\\Modules\'\\) passed to function config does not extend CodeIgniter\\\\\\\\Config\\\\\\\\BaseConfig\\.$#', + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ValidationGenerator\\:\\:execute\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Filters/Filters.php', + 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Filters/Filters.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ValidationGenerator\\:\\:generateClass\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Expression on left side of \\?\\? is not nullable\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ValidationGenerator\\:\\:generateClass\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Filters/Filters.php', + 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, array given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ValidationGenerator\\:\\:generateView\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Filters/Filters.php', + 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 10, - 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ValidationGenerator\\:\\:generateView\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Constructor of class CodeIgniter\\\\HTTP\\\\CURLRequest has an unused parameter \\$config\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ValidationGenerator\\:\\:parseTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', + 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ValidationGenerator\\:\\:parseTemplate\\(\\) has parameter \\$replace with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', + 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 6, - 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ValidationGenerator\\:\\:parseTemplate\\(\\) has parameter \\$search with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'HTTP_USER_AGENT\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/DownloadResponse.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Generators\\\\ValidationGenerator\\:\\:renderTemplate\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, string given\\.$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/DownloadResponse.php', + 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\HTTP\\\\DownloadResponse\\) of method CodeIgniter\\\\HTTP\\\\DownloadResponse\\:\\:sendBody\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\HTTP\\\\Response\\)\\) of method CodeIgniter\\\\HTTP\\\\Response\\:\\:sendBody\\(\\)$#', + 'message' => '#^Only booleans are allowed in &&, mixed given on the right side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/DownloadResponse.php', + 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\HTTP\\\\DownloadResponse\\) of method CodeIgniter\\\\HTTP\\\\DownloadResponse\\:\\:sendBody\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\HTTP\\\\ResponseInterface\\)\\) of method CodeIgniter\\\\HTTP\\\\ResponseInterface\\:\\:sendBody\\(\\)$#', + 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/DownloadResponse.php', + 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\HTTP\\\\ResponseInterface\\) of method CodeIgniter\\\\HTTP\\\\DownloadResponse\\:\\:setContentType\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\HTTP\\\\Response\\)\\) of method CodeIgniter\\\\HTTP\\\\Response\\:\\:setContentType\\(\\)$#', + 'message' => '#^Property CodeIgniter\\\\Commands\\\\Generators\\\\ValidationGenerator\\:\\:\\$params type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/DownloadResponse.php', + 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\HTTP\\\\ResponseInterface\\) of method CodeIgniter\\\\HTTP\\\\DownloadResponse\\:\\:setContentType\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\HTTP\\\\ResponseInterface\\)\\) of method CodeIgniter\\\\HTTP\\\\ResponseInterface\\:\\:setContentType\\(\\)$#', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Commands/Generators/ValidationGenerator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Commands\\\\ListCommands\\:\\:listFull\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/DownloadResponse.php', + 'path' => __DIR__ . '/system/Commands/ListCommands.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\HTTP\\\\Exceptions\\\\HTTPException\\) of method CodeIgniter\\\\HTTP\\\\Exceptions\\\\HTTPException\\:\\:forInvalidFile\\(\\) should be covariant with return type \\(static\\(CodeIgniter\\\\Exceptions\\\\FrameworkException\\)\\) of method CodeIgniter\\\\Exceptions\\\\FrameworkException\\:\\:forInvalidFile\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\ListCommands\\:\\:listFull\\(\\) has parameter \\$commands with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Exceptions/HTTPException.php', + 'path' => __DIR__ . '/system/Commands/ListCommands.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type int of property CodeIgniter\\\\HTTP\\\\Exceptions\\\\RedirectException\\:\\:\\$code is not the same as PHPDoc type mixed of overridden property Exception\\:\\:\\$code\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\ListCommands\\:\\:listSimple\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Exceptions/RedirectException.php', + 'path' => __DIR__ . '/system/Commands/ListCommands.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\ListCommands\\:\\:listSimple\\(\\) has parameter \\$commands with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Exceptions/RedirectException.php', + 'path' => __DIR__ . '/system/Commands/ListCommands.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to function is_array\\(\\) with array will always evaluate to true\\.$#', + 'message' => '#^Only booleans are allowed in &&, int given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Files/FileCollection.php', + 'path' => __DIR__ . '/system/Commands/Server/Serve.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, array given on the right side\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/Files/FileCollection.php', + 'message' => '#^Accessing offset \'CI_ENVIRONMENT\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/Commands/Utilities/Environment.php', ]; $ignoreErrors[] = [ - 'message' => '#^Expression on left side of \\?\\? is not nullable\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Namespaces\\:\\:outputAllNamespaces\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Files/UploadedFile.php', + 'path' => __DIR__ . '/system/Commands/Utilities/Namespaces.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\HTTP\\\\Files\\\\UploadedFile\\:\\:\\$originalMimeType is not the same as PHPDoc type string\\|null of overridden property CodeIgniter\\\\Files\\\\File\\:\\:\\$originalMimeType\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Namespaces\\:\\:outputAllNamespaces\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Files/UploadedFile.php', + 'path' => __DIR__ . '/system/Commands/Utilities/Namespaces.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\HTTP\\\\Files\\\\UploadedFile\\:\\:\\$error \\(int\\) on left side of \\?\\? is not nullable\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/Files/UploadedFile.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Namespaces\\:\\:outputCINamespaces\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Utilities/Namespaces.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(bool\\) of method CodeIgniter\\\\HTTP\\\\Files\\\\UploadedFile\\:\\:move\\(\\) should be compatible with return type \\(CodeIgniter\\\\Files\\\\File\\) of method CodeIgniter\\\\Files\\\\File\\:\\:move\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Namespaces\\:\\:outputCINamespaces\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Files/UploadedFile.php', + 'path' => __DIR__ . '/system/Commands/Utilities/Namespaces.php', ]; $ignoreErrors[] = [ 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Files/UploadedFile.php', + 'path' => __DIR__ . '/system/Commands/Utilities/Namespaces.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'HTTPS\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', + 'message' => '#^Accessing offset \'HTTP_HOST\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Utilities/Routes.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'QUERY_STRING\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', + 'message' => '#^Assigning non\\-falsy\\-string directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Utilities/Routes.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'REQUEST_URI\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', + 'message' => '#^Only booleans are allowed in an if condition, Config\\\\Routing given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Utilities/Routes.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'SCRIPT_NAME\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', + 'message' => '#^Only booleans are allowed in an if condition, string\\|null given\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/Commands/Utilities/Routes.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset array\\|string directly on \\$_GET is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', + 'message' => '#^Implicit array creation is not allowed \\- variable \\$filters might not exist\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php', ]; $ignoreErrors[] = [ - 'message' => '#^Assigning string directly on offset \'QUERY_STRING\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\AutoRouteCollector\\:\\:__construct\\(\\) has parameter \\$httpMethods with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\AutoRouteCollector\\:\\:__construct\\(\\) has parameter \\$protectedControllers with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type CodeIgniter\\\\HTTP\\\\URI of property CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:\\$uri is not the same as PHPDoc type CodeIgniter\\\\HTTP\\\\URI\\|null of overridden property CodeIgniter\\\\HTTP\\\\OutgoingRequest\\:\\:\\$uri\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\AutoRouteCollector\\:\\:addFilters\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', + 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'CONTENT_TYPE\' directly on \\$_SERVER is discouraged\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\AutoRouteCollector\\:\\:addFilters\\(\\) has parameter \\$routes with no type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Message.php', + 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \\(int\\|string\\) directly on \\$_SERVER is discouraged\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\AutoRouteCollector\\:\\:generateSampleUri\\(\\) has parameter \\$route with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Message.php', + 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/Message.php', + 'message' => '#^Property CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\AutoRouteCollector\\:\\:\\$httpMethods type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\HTTP\\\\Message\\:\\:\\$protocolVersion \\(string\\) on left side of \\?\\? is not nullable\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\ControllerMethodReader\\:\\:__construct\\(\\) has parameter \\$httpMethods with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Message.php', + 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/ControllerMethodReader.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to function is_array\\(\\) with array will always evaluate to true\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\ControllerMethodReader\\:\\:getParameters\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Negotiate.php', + 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/ControllerMethodReader.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\|null given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\ControllerMethodReader\\:\\:getRouteForDefaultController\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/OutgoingRequest.php', + 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/ControllerMethodReader.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\HTTP\\\\URI\\|null\\) of method CodeIgniter\\\\HTTP\\\\OutgoingRequest\\:\\:getUri\\(\\) should be covariant with return type \\(CodeIgniter\\\\HTTP\\\\URI\\) of method CodeIgniter\\\\HTTP\\\\OutgoingRequestInterface\\:\\:getUri\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\ControllerMethodReader\\:\\:read\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/OutgoingRequest.php', + 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/ControllerMethodReader.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, array\\ given\\.$#', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/RedirectResponse.php', + 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/ControllerMethodReader.php', ]; $ignoreErrors[] = [ - 'message' => '#^Variable \\$_GET on left side of \\?\\? always exists and is not nullable\\.$#', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\ControllerMethodReader\\:\\:getRouteWithoutController\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/RedirectResponse.php', + 'path' => __DIR__ . '/system/Commands/Utilities/Routes/ControllerMethodReader.php', ]; $ignoreErrors[] = [ - 'message' => '#^Variable \\$_POST on left side of \\?\\? always exists and is not nullable\\.$#', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/RedirectResponse.php', + 'path' => __DIR__ . '/system/Commands/Utilities/Routes/ControllerMethodReader.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/HTTP/Request.php', + 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\FilterFinder\\:\\:getRouteFilters\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Commands/Utilities/Routes/FilterFinder.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, string given\\.$#', + 'message' => '#^Accessing offset \'REMOTE_ADDR\' directly on \\$_SERVER is discouraged\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Request.php', + 'path' => __DIR__ . '/system/Common.php', ]; $ignoreErrors[] = [ 'message' => '#^Accessing offset \'REQUEST_METHOD\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/HTTP/Response.php', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'SERVER_PROTOCOL\' directly on \\$_SERVER is discouraged\\.$#', + 'message' => '#^Accessing offset string directly on \\$_SERVER is discouraged\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Response.php', + 'path' => __DIR__ . '/system/Common.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'SERVER_SOFTWARE\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/Response.php', + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/Common.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/Response.php', + 'message' => '#^Function cache\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, string\\|null given on the left side\\.$#', + 'message' => '#^Function class_uses_recursive\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Response.php', + 'path' => __DIR__ . '/system/Common.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, string\\|null given on the right side\\.$#', + 'message' => '#^Function cookie\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Response.php', + 'path' => __DIR__ . '/system/Common.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, string\\|null given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/Response.php', + 'message' => '#^Function db_connect\\(\\) has parameter \\$db with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function esc\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function esc\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function helper\\(\\) has parameter \\$filenames with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function lang\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function log_message\\(\\) has parameter \\$context with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function old\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function service\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function session\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function single_service\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function stringify_attributes\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function trait_uses_recursive\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function view\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function view\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function view_cell\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Common.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, string\\|null given on the left side\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/Common.php', ]; $ignoreErrors[] = [ 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/system/HTTP/Response.php', + 'count' => 2, + 'path' => __DIR__ . '/system/Common.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Method CodeIgniter\\\\ComposerScripts\\:\\:postUpdate\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/ComposerScripts.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'CI_ENVIRONMENT\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Config/AutoloadConfig.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset non\\-falsy\\-string directly on \\$_SERVER is discouraged\\.$#', 'count' => 4, - 'path' => __DIR__ . '/system/HTTP/SiteURI.php', + 'path' => __DIR__ . '/system/Config/BaseConfig.php', ]; $ignoreErrors[] = [ - 'message' => '#^Strict comparison using \\!\\=\\= between mixed and null will always evaluate to true\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\BaseConfig\\:\\:__set_state\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/SiteURI.php', + 'path' => __DIR__ . '/system/Config/BaseConfig.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Config\\\\BaseConfig\\:\\:initEnvValue\\(\\) has parameter \\$property with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Config/BaseConfig.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Config\\\\BaseConfig\\:\\:\\$registrars type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Config/BaseConfig.php', ]; $ignoreErrors[] = [ 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 10, - 'path' => __DIR__ . '/system/HTTP/URI.php', + 'count' => 3, + 'path' => __DIR__ . '/system/Config/BaseService.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\HTTP\\\\URI\\:\\:\\$fragment \\(string\\) on left side of \\?\\? is not nullable\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\BaseService\\:\\:__callStatic\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/URI.php', + 'path' => __DIR__ . '/system/Config/BaseService.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\HTTP\\\\URI\\:\\:\\$host \\(string\\) on left side of \\?\\? is not nullable\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\BaseService\\:\\:discoverServices\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/URI.php', + 'path' => __DIR__ . '/system/Config/BaseService.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\HTTP\\\\URI\\:\\:\\$path \\(string\\) on left side of \\?\\? is not nullable\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\BaseService\\:\\:getSharedInstance\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/URI.php', + 'path' => __DIR__ . '/system/Config/BaseService.php', ]; $ignoreErrors[] = [ - 'message' => '#^Strict comparison using \\!\\=\\= between mixed and null will always evaluate to true\\.$#', + 'message' => '#^Only booleans are allowed in a negated boolean, array given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/URI.php', + 'path' => __DIR__ . '/system/Config/BaseService.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'HTTP_REFERER\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/HTTP/UserAgent.php', + 'message' => '#^Property CodeIgniter\\\\Config\\\\BaseService\\:\\:\\$instances type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Config/BaseService.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'HTTP_USER_AGENT\' directly on \\$_SERVER is discouraged\\.$#', + 'message' => '#^Property CodeIgniter\\\\Config\\\\BaseService\\:\\:\\$mocks type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Config/BaseService.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Config\\\\BaseService\\:\\:\\$services type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Config/BaseService.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset string directly on \\$_SERVER is discouraged\\.$#', 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/UserAgent.php', + 'path' => __DIR__ . '/system/Config/DotEnv.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Assigning string directly on offset string of \\$_SERVER is discouraged\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Config/DotEnv.php', ]; $ignoreErrors[] = [ 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/UserAgent.php', + 'path' => __DIR__ . '/system/Config/DotEnv.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, array\\ given on the right side\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/HTTP/UserAgent.php', + 'message' => '#^Method CodeIgniter\\\\Config\\\\DotEnv\\:\\:normaliseVariable\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Config/DotEnv.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 1024\\> given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', + 'message' => '#^Method CodeIgniter\\\\Config\\\\DotEnv\\:\\:parse\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Config/DotEnv.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 128\\> given\\.$#', + 'message' => '#^Only booleans are allowed in a negated boolean, string given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', + 'path' => __DIR__ . '/system/Config/DotEnv.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 16\\> given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:__callStatic\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', + 'path' => __DIR__ . '/system/Config/Factories.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 1\\> given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:createInstance\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', + 'path' => __DIR__ . '/system/Config/Factories.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 2048\\> given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', + 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:getComponentInstances\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Config/Factories.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 256\\> given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:getDefinedInstance\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', + 'path' => __DIR__ . '/system/Config/Factories.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 2\\> given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:getDefinedInstance\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', + 'path' => __DIR__ . '/system/Config/Factories.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 32\\> given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:locateClass\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', + 'path' => __DIR__ . '/system/Config/Factories.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 4\\> given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:setComponentInstances\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', + 'path' => __DIR__ . '/system/Config/Factories.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 512\\> given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', + 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:setOptions\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Config/Factories.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 64\\> given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:verifyInstanceOf\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', + 'path' => __DIR__ . '/system/Config/Factories.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 8\\> given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:verifyPreferApp\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', + 'path' => __DIR__ . '/system/Config/Factories.php', ]; $ignoreErrors[] = [ - 'message' => '#^Right side of && is always true\\.$#', + 'message' => '#^Only booleans are allowed in &&, string given on the left side\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', + 'path' => __DIR__ . '/system/Config/Factories.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'message' => '#^Only booleans are allowed in a negated boolean, array given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Config/Factories.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a negated boolean, string\\|null given\\.$#', 'count' => 2, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', + 'path' => __DIR__ . '/system/Config/Factories.php', ]; $ignoreErrors[] = [ - 'message' => '#^Variable \\$result might not be defined\\.$#', + 'message' => '#^Property CodeIgniter\\\\Config\\\\Factory\\:\\:\\$default type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', + 'path' => __DIR__ . '/system/Config/Factory.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to function is_array\\(\\) with array will always evaluate to true\\.$#', + 'message' => '#^Property CodeIgniter\\\\Config\\\\Factory\\:\\:\\$models type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/form_helper.php', + 'path' => __DIR__ . '/system/Config/Factory.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Config\\\\Routing\\:\\:\\$moduleRoutes type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Config/Routing.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Config\\\\Routing\\:\\:\\$routeFiles type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Config/Routing.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'SERVER_PROTOCOL\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Config/Services.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Argument \\#1 \\$name \\(\'Config\\\\\\\\Modules\'\\) passed to function config does not extend CodeIgniter\\\\\\\\Config\\\\\\\\BaseConfig\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Config/Services.php', ]; $ignoreErrors[] = [ 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/form_helper.php', + 'path' => __DIR__ . '/system/Config/Services.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, array given on the right side\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\Services\\:\\:curlrequest\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/form_helper.php', + 'path' => __DIR__ . '/system/Config/Services.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, int\\<0, max\\> given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\Services\\:\\:email\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/form_helper.php', + 'path' => __DIR__ . '/system/Config/Services.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, string given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\Services\\:\\:superglobals\\(\\) has parameter \\$get with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/form_helper.php', + 'path' => __DIR__ . '/system/Config/Services.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, string given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Config\\\\Services\\:\\:superglobals\\(\\) has parameter \\$server with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/html_helper.php', + 'path' => __DIR__ . '/system/Config/Services.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Helpers/test_helper.php', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/Config/Services.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Controller\\:\\:setValidator\\(\\) has parameter \\$messages with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Controller.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Controller\\:\\:setValidator\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Controller.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Controller\\:\\:validate\\(\\) has parameter \\$messages with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Controller.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Controller\\:\\:validate\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Controller.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Controller\\:\\:validateData\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Controller.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Controller\\:\\:validateData\\(\\) has parameter \\$messages with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Controller.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Controller\\:\\:validateData\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Controller.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a negated boolean, array given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Controller.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Controller\\:\\:\\$helpers type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Controller.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$offset \\(string\\) of method CodeIgniter\\\\Cookie\\\\Cookie\\:\\:offsetSet\\(\\) should be contravariant with parameter \\$offset \\(string\\|null\\) of method ArrayAccess\\\\:\\:offsetSet\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cookie/Cookie.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 5, + 'path' => __DIR__ . '/system/Cookie/Cookie.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Cookie\\\\CookieStore\\:\\:setCookie\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cookie/CookieStore.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Cookie\\\\CookieStore\\:\\:setRawCookie\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cookie/CookieStore.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Cookie\\\\CookieStore\\:\\:validateCookies\\(\\) has parameter \\$cookies with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Cookie/CookieStore.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 30, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:__construct\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:__construct\\(\\) has parameter \\$tableName with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:_deleteBatch\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:_insert\\(\\) has parameter \\$keys with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:_insert\\(\\) has parameter \\$unescapedKeys with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:_like\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:_replace\\(\\) has parameter \\$keys with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:_replace\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:_update\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:_whereIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:_whereIn\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:addUnionStatement\\(\\) has parameter \\$union with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:batchObjectToArray\\(\\) has parameter \\$object with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:batchObjectToArray\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:buildSubquery\\(\\) has parameter \\$builder with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:delete\\(\\) has parameter \\$where with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:deleteBatch\\(\\) has parameter \\$constraints with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:deleteBatch\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:fieldsFromQuery\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:formatValues\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:formatValues\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:from\\(\\) has parameter \\$from with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:getBinds\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:getCompiledQBWhere\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:getOperator\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:getSetData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:getWhere\\(\\) has parameter \\$where with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:groupBy\\(\\) has parameter \\$by with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:having\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:havingIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:havingIn\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:havingLike\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:havingNotIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:havingNotIn\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:insert\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:insertBatch\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:like\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:notHavingLike\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:notLike\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:objectToArray\\(\\) has parameter \\$object with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:objectToArray\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:onConstraint\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orHaving\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orHavingIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orHavingIn\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orHavingLike\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orHavingNotIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orHavingNotIn\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orLike\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orNotHavingLike\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orNotLike\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orWhere\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orWhereIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orWhereIn\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orWhereNotIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orWhereNotIn\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:replace\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:resetRun\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:resetRun\\(\\) has parameter \\$qbResetItems with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:resetSelect\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:resetWrite\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:select\\(\\) has parameter \\$select with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:set\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:setData\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:setQueryAsData\\(\\) has parameter \\$columns with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:setUpdateBatch\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:trackAliases\\(\\) has parameter \\$table with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:union\\(\\) has parameter \\$union with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:unionAll\\(\\) has parameter \\$union with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:update\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:update\\(\\) has parameter \\$where with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:updateBatch\\(\\) has parameter \\$constraints with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:updateBatch\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:updateFields\\(\\) has parameter \\$ignore with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:upsert\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:upsertBatch\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:where\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:whereHaving\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:whereIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:whereIn\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:whereNotIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:whereNotIn\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a negated boolean, TWhenNot given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in an elseif condition, \\(callable\\)\\|null given\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in an if condition, TWhen given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$QBFrom type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$QBGroupBy type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$QBHaving type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$QBJoin type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$QBNoEscape type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$QBOptions type has no value type specified in iterable type array\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$QBOrderBy type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$QBSelect type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$QBWhere type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$binds type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$bindsKeyCount type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$db \\(CodeIgniter\\\\Database\\\\BaseConnection\\) in empty\\(\\) is not falsy\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$joinTypes type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$randomKeyword type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$supportedIgnoreStatements type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to an undefined method CodeIgniter\\\\Database\\\\QueryInterface\\:\\:getOriginalQuery\\(\\)\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 13, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:__construct\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:__get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:_fieldData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:_foreignKeyData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:_indexData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:callFunction\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:close\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:escape\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:escape\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:escapeIdentifiers\\(\\) has parameter \\$item with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:escapeIdentifiers\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:foreignKeyDataToObjects\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:foreignKeyDataToObjects\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:getFieldNames\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:getForeignKeyData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:getIndexData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:listTables\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:prepare\\(\\) has parameter \\$func with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:prepare\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:protectIdentifiers\\(\\) has parameter \\$item with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:protectIdentifiers\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:query\\(\\) has parameter \\$binds with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:setAliasedTables\\(\\) has parameter \\$aliases with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:table\\(\\) has parameter \\$tableName with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:transOff\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$aliasedTables type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$dataCache type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$encrypt type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$escapeChar type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$failover type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$pregEscapeChar type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$reservedIdentifiers type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(array\\{code\\: int\\|string\\|null, message\\: string\\|null\\}\\) of method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:error\\(\\) should be covariant with return type \\(array\\\\) of method CodeIgniter\\\\Database\\\\ConnectionInterface\\\\:\\:error\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/Database/BasePreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BasePreparedQuery\\:\\:_execute\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BasePreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BasePreparedQuery\\:\\:_prepare\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BasePreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BasePreparedQuery\\:\\:execute\\(\\) has parameter \\$data with no type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BasePreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BasePreparedQuery\\:\\:prepare\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BasePreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseResult\\:\\:fetchAssoc\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseResult\\:\\:getCustomResultObject\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseResult\\:\\:getFieldData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseResult\\:\\:getFieldNames\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseResult\\:\\:getFirstRow\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseResult\\:\\:getLastRow\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseResult\\:\\:getNextRow\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseResult\\:\\:getPreviousRow\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseResult\\:\\:getResult\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseResult\\:\\:getResultArray\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseResult\\:\\:getRow\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseResult\\:\\:getRowArray\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseResult\\:\\:getUnbufferedRow\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseResult\\:\\:setRow\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseResult\\:\\:setRow\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$className \\(class\\-string\\) of method CodeIgniter\\\\Database\\\\BaseResult\\:\\:getCustomResultObject\\(\\) should be contravariant with parameter \\$className \\(string\\) of method CodeIgniter\\\\Database\\\\ResultInterface\\\\:\\:getCustomResultObject\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseResult\\:\\:\\$customResultObject type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseResult\\:\\:\\$resultArray type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseResult\\:\\:\\$rowData type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseResult.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/Database/BaseUtils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseUtils\\:\\:_backup\\(\\) has parameter \\$prefs with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseUtils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseUtils\\:\\:backup\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseUtils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseUtils\\:\\:getXMLFromResult\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseUtils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseUtils\\:\\:listDatabases\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/BaseUtils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Config\\:\\:connect\\(\\) has parameter \\$group with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Config.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Config\\:\\:ensureFactory\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Config.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Config\\:\\:forge\\(\\) has parameter \\$group with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Config.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Config\\:\\:getConnections\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Config.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Config\\:\\:utils\\(\\) has parameter \\$group with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Config.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Config\\:\\:\\$instances type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Config.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ConnectionInterface\\:\\:callFunction\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ConnectionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ConnectionInterface\\:\\:callFunction\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ConnectionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ConnectionInterface\\:\\:escape\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ConnectionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ConnectionInterface\\:\\:escape\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ConnectionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ConnectionInterface\\:\\:query\\(\\) has parameter \\$binds with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ConnectionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ConnectionInterface\\:\\:table\\(\\) has parameter \\$tableName with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ConnectionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Database/Database.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Database\\:\\:initDriver\\(\\) has parameter \\$argument with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Database.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Database\\:\\:load\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Database.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Database\\:\\:parseDSN\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Database.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Database\\:\\:parseDSN\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Database.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Database\\:\\:\\$connections type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Database.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Exceptions\\\\DataException\\:\\:forEmptyInputGiven\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Exceptions/DataException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Exceptions\\\\DataException\\:\\:forFindColumnHaveMultipleColumns\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Exceptions/DataException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Exceptions\\\\DataException\\:\\:forInvalidAllowedFields\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Exceptions/DataException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Exceptions\\\\DataException\\:\\:forTableNotFound\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Exceptions/DataException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 13, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_alterTable\\(\\) has parameter \\$processedFields with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeDefault\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeDefault\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeDefault\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeType\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeType\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeUnique\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeUnique\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeUnique\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeUnsigned\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeUnsigned\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeUnsigned\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_createTable\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_createTableAttributes\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_processColumn\\(\\) has parameter \\$processedField with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_processFields\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_processForeignKeys\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_processIndexes\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:addColumn\\(\\) has parameter \\$fields with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:addField\\(\\) has parameter \\$fields with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:addKey\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:addPrimaryKey\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:addUniqueKey\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:createTable\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:dropColumn\\(\\) has parameter \\$columnNames with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:modifyColumn\\(\\) has parameter \\$fields with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:reset\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, string given on the left side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$fields \\(array\\\\) does not accept array\\\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$fields type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$fkAllowActions type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$foreignKeys type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$uniqueKeys type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$unsigned type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Migration\\:\\:down\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Migration.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Migration\\:\\:up\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Migration.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 5, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:__construct\\(\\) has parameter \\$db with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:addHistory\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:clearHistory\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:ensureTable\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:findMigrations\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:findNamespaceMigrations\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:force\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:getBatchHistory\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:getBatches\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:getCliMessages\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:getHistory\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:removeHistory\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, int\\<0, max\\> given on the right side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, max\\> given\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in an if condition, string\\|null given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:\\$cliMessages type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MigrationRunner.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ModelFactory\\:\\:injectMock\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ModelFactory.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ModelFactory\\:\\:reset\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ModelFactory.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\MySQLi\\\\Builder\\:\\:\\$supportedIgnoreStatements type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 11, + 'path' => __DIR__ . '/system/Database/MySQLi/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MySQLi\\\\Connection\\:\\:_close\\(\\) should return mixed but return statement is missing\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, int given on the left side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a negated boolean, array given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\MySQLi\\\\Connection\\:\\:\\$escapeChar is not the same as PHPDoc type array\\|string of overridden property CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:\\$escapeChar\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(array\\\\) of method CodeIgniter\\\\Database\\\\MySQLi\\\\Connection\\:\\:error\\(\\) should be covariant with return type \\(array\\{code\\: int\\|string\\|null, message\\: string\\|null\\}\\) of method CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:error\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 6, + 'path' => __DIR__ . '/system/Database/MySQLi/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MySQLi\\\\Forge\\:\\:_alterTable\\(\\) has parameter \\$processedFields with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MySQLi\\\\Forge\\:\\:_createTableAttributes\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MySQLi\\\\Forge\\:\\:_processColumn\\(\\) has parameter \\$processedField with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MySQLi\\\\Forge\\:\\:_processIndexes\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\MySQLi\\\\Forge\\:\\:\\$createDatabaseStr is not the same as PHPDoc type string\\|false of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$createDatabaseStr\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\MySQLi\\\\Forge\\:\\:\\$_quoted_table_options type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\MySQLi\\\\Forge\\:\\:\\$_unsigned type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Access to an undefined property CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:\\$mysqli\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/Database/MySQLi/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MySQLi\\\\PreparedQuery\\:\\:_execute\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MySQLi\\\\PreparedQuery\\:\\:_prepare\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(mysqli_result\\|false\\) of method CodeIgniter\\\\Database\\\\MySQLi\\\\PreparedQuery\\:\\:_getResult\\(\\) should be covariant with return type \\(object\\|resource\\|null\\) of method CodeIgniter\\\\Database\\\\BasePreparedQuery\\\\:\\:_getResult\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MySQLi\\\\Result\\:\\:fetchAssoc\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MySQLi\\\\Result\\:\\:getFieldData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MySQLi\\\\Result\\:\\:getFieldNames\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\MySQLi\\\\Utils\\:\\:_backup\\(\\) has parameter \\$prefs with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Utils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\MySQLi\\\\Utils\\:\\:\\$listDatabases is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$listDatabases\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Utils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\MySQLi\\\\Utils\\:\\:\\$optimizeTable is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$optimizeTable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/MySQLi/Utils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Builder\\:\\:_deleteBatch\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Builder\\:\\:_replace\\(\\) has parameter \\$keys with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Builder\\:\\:_replace\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Builder\\:\\:_update\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Builder\\:\\:fieldsFromQuery\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Builder\\:\\:resetSelect\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, int given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type CodeIgniter\\\\Database\\\\OCI8\\\\Connection of property CodeIgniter\\\\Database\\\\OCI8\\\\Builder\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection of overridden property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$db\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\OCI8\\\\Builder\\:\\:\\$randomKeyword type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Database\\\\OCI8\\\\Builder\\:\\:delete\\(\\) should be covariant with return type \\(bool\\|string\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:delete\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 5, + 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Connection\\:\\:bindParams\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Connection\\:\\:storedProcedure\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\OCI8\\\\Connection\\:\\:\\$escapeChar is not the same as PHPDoc type array\\|string of overridden property CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:\\$escapeChar\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\OCI8\\\\Connection\\:\\:\\$reservedIdentifiers type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\OCI8\\\\Connection\\:\\:\\$resetStmtId has no type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\OCI8\\\\Connection\\:\\:\\$validDSNs has no type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(array\\{code\\: int\\|string\\|null, message\\: string\\|null\\}\\) of method CodeIgniter\\\\Database\\\\OCI8\\\\Connection\\:\\:error\\(\\) should be covariant with return type \\(array\\\\) of method CodeIgniter\\\\Database\\\\ConnectionInterface\\\\:\\:error\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:_alterTable\\(\\) has parameter \\$processedFields with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:_attributeType\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:_processColumn\\(\\) has parameter \\$processedField with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type false of property CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:\\$createDatabaseStr is not the same as PHPDoc type string\\|false of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$createDatabaseStr\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type false of property CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:\\$createTableIfStr is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$createTableIfStr\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type false of property CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:\\$dropDatabaseStr is not the same as PHPDoc type string\\|false of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$dropDatabaseStr\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type false of property CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:\\$dropTableIfStr is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$dropTableIfStr\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:\\$renameTableStr is not the same as PHPDoc type string\\|false of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$renameTableStr\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:\\$fkAllowActions type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\OCI8\\\\Forge\\:\\:\\$unsigned type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\PreparedQuery\\:\\:_execute\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\PreparedQuery\\:\\:_prepare\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type CodeIgniter\\\\Database\\\\OCI8\\\\Connection of property CodeIgniter\\\\Database\\\\OCI8\\\\PreparedQuery\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection\\ of overridden property CodeIgniter\\\\Database\\\\BasePreparedQuery\\\\:\\:\\$db\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Result\\:\\:fetchAssoc\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Result\\:\\:getFieldData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Result\\:\\:getFieldNames\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Utils\\:\\:_backup\\(\\) has parameter \\$prefs with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Utils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\OCI8\\\\Utils\\:\\:\\$listDatabases is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$listDatabases\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/OCI8/Utils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 7, + 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:_deleteBatch\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:_insert\\(\\) has parameter \\$keys with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:_insert\\(\\) has parameter \\$unescapedKeys with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:_update\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:replace\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:\\$randomKeyword type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:\\$supportedIgnoreStatements type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\Database\\\\BaseBuilder\\) of method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:join\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\Database\\\\BaseBuilder\\)\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:join\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\Database\\\\BaseBuilder\\) of method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:orderBy\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\Database\\\\BaseBuilder\\)\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orderBy\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:decrement\\(\\) should be covariant with return type \\(bool\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:decrement\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:delete\\(\\) should be covariant with return type \\(bool\\|string\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:delete\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:increment\\(\\) should be covariant with return type \\(bool\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:increment\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Database\\\\Postgre\\\\Builder\\:\\:replace\\(\\) should be covariant with return type \\(CodeIgniter\\\\Database\\\\BaseResult\\|CodeIgniter\\\\Database\\\\Query\\|string\\|false\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:replace\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:_close\\(\\) should return mixed but return statement is missing\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:buildDSN\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:convertDSN\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:escape\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:escape\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:\\$escapeChar is not the same as PHPDoc type array\\|string of overridden property CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:\\$escapeChar\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:\\$connect_timeout has no type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:\\$options has no type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:\\$service has no type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:\\$sslmode has no type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(array\\\\) of method CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:error\\(\\) should be covariant with return type \\(array\\{code\\: int\\|string\\|null, message\\: string\\|null\\}\\) of method CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:error\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Forge\\:\\:_alterTable\\(\\) has parameter \\$processedFields with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Forge\\:\\:_attributeType\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Forge\\:\\:_attributeType\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Forge\\:\\:_createTableAttributes\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Forge\\:\\:_processColumn\\(\\) has parameter \\$processedField with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type CodeIgniter\\\\Database\\\\Postgre\\\\Connection of property CodeIgniter\\\\Database\\\\Postgre\\\\Forge\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$db\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Postgre\\\\Forge\\:\\:\\$_unsigned type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\PreparedQuery\\:\\:_execute\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\PreparedQuery\\:\\:_prepare\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Result\\:\\:fetchAssoc\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Result\\:\\:getFieldData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Result\\:\\:getFieldNames\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Utils\\:\\:_backup\\(\\) has parameter \\$prefs with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Utils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\Postgre\\\\Utils\\:\\:\\$listDatabases is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$listDatabases\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Utils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\Postgre\\\\Utils\\:\\:\\$optimizeTable is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$optimizeTable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Postgre/Utils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\PreparedQueryInterface\\:\\:execute\\(\\) has parameter \\$data with no type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/PreparedQueryInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\PreparedQueryInterface\\:\\:prepare\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/PreparedQueryInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/Database/Query.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Query\\:\\:compileBinds\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Query.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Query\\:\\:matchNamedBinds\\(\\) has parameter \\$binds with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Query.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Query\\:\\:matchSimpleBinds\\(\\) has parameter \\$binds with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Query.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Query\\:\\:setBinds\\(\\) has parameter \\$binds with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Query.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\Query\\:\\:\\$binds type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Query.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\QueryInterface\\:\\:setError\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/QueryInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:freeResult\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:getCustomResultObject\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:getFieldData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:getFieldNames\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:getFirstRow\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:getLastRow\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:getNextRow\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:getPreviousRow\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:getResult\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:getResultArray\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:getResultObject\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:getRow\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:getRowArray\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:getUnbufferedRow\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:setRow\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:setRow\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/ResultInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Access to an undefined property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$schema\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 9, + 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:_insert\\(\\) has parameter \\$keys with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:_insert\\(\\) has parameter \\$unescapedKeys with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:_replace\\(\\) has parameter \\$keys with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:_replace\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:_update\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:fieldsFromQuery\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:replace\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$selectOverride \\(bool\\) of method CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:compileSelect\\(\\) should be contravariant with parameter \\$selectOverride \\(mixed\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:compileSelect\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:\\$randomKeyword type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\Database\\\\BaseBuilder\\) of method CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:maxMinAvgSum\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\Database\\\\BaseBuilder\\)\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:maxMinAvgSum\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:delete\\(\\) should be covariant with return type \\(bool\\|string\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:delete\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Database\\\\SQLSRV\\\\Builder\\:\\:replace\\(\\) should be covariant with return type \\(CodeIgniter\\\\Database\\\\BaseResult\\|CodeIgniter\\\\Database\\\\Query\\|string\\|false\\) of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:replace\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 6, + 'path' => __DIR__ . '/system/Database/SQLSRV/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Connection\\:\\:__construct\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Connection\\:\\:_close\\(\\) should return mixed but return statement is missing\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLSRV\\\\Connection\\:\\:\\$escapeChar is not the same as PHPDoc type array\\|string of overridden property CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:\\$escapeChar\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(array\\\\) of method CodeIgniter\\\\Database\\\\SQLSRV\\\\Connection\\:\\:error\\(\\) should be covariant with return type \\(array\\{code\\: int\\|string\\|null, message\\: string\\|null\\}\\) of method CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:error\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Access to an undefined property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$schema\\.$#', + 'count' => 13, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 5, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:_alterTable\\(\\) has parameter \\$processedFields with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:_attributeType\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:_attributeType\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:_createTableAttributes\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:_processColumn\\(\\) has parameter \\$processedField with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:_processIndexes\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type array of property CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:\\$unsigned is not the same as PHPDoc type array\\|bool of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$unsigned\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:\\$createDatabaseStr is not the same as PHPDoc type string\\|false of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$createDatabaseStr\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:\\$createTableIfStr is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$createTableIfStr\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:\\$renameTableStr is not the same as PHPDoc type string\\|false of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$renameTableStr\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:\\$fkAllowActions type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:\\$unsigned type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\PreparedQuery\\:\\:_execute\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\PreparedQuery\\:\\:_prepare\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\PreparedQuery\\:\\:parameterize\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type CodeIgniter\\\\Database\\\\SQLSRV\\\\Connection of property CodeIgniter\\\\Database\\\\SQLSRV\\\\PreparedQuery\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection\\ of overridden property CodeIgniter\\\\Database\\\\BasePreparedQuery\\\\:\\:\\$db\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\SQLSRV\\\\PreparedQuery\\:\\:\\$parameters type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Result\\:\\:fetchAssoc\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Result\\:\\:getFieldData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Result\\:\\:getFieldNames\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Utils\\:\\:_backup\\(\\) has parameter \\$prefs with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Utils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLSRV\\\\Utils\\:\\:\\$listDatabases is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$listDatabases\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Utils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLSRV\\\\Utils\\:\\:\\$optimizeTable is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$optimizeTable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLSRV/Utils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Database/SQLite3/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Builder\\:\\:_deleteBatch\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Builder\\:\\:_replace\\(\\) has parameter \\$keys with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Builder\\:\\:_replace\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\SQLite3\\\\Builder\\:\\:\\$randomKeyword type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\SQLite3\\\\Builder\\:\\:\\$supportedIgnoreStatements type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Connection\\:\\:_close\\(\\) should return mixed but return statement is missing\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Connection\\:\\:getFieldNames\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a negated boolean, string given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLite3\\\\Connection\\:\\:\\$escapeChar is not the same as PHPDoc type array\\|string of overridden property CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:\\$escapeChar\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(array\\\\) of method CodeIgniter\\\\Database\\\\SQLite3\\\\Connection\\:\\:error\\(\\) should be covariant with return type \\(array\\{code\\: int\\|string\\|null, message\\: string\\|null\\}\\) of method CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:error\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\:\\:_alterTable\\(\\) has parameter \\$processedFields with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has parameter \\$field with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\:\\:_attributeType\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\:\\:_attributeType\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\:\\:_processColumn\\(\\) has parameter \\$processedField with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\:\\:_processForeignKeys\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type CodeIgniter\\\\Database\\\\SQLite3\\\\Connection of property CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection of overridden property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$db\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\:\\:\\$_unsigned type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\PreparedQuery\\:\\:_execute\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\PreparedQuery\\:\\:_prepare\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(SQLite3Result\\|false\\) of method CodeIgniter\\\\Database\\\\SQLite3\\\\PreparedQuery\\:\\:_getResult\\(\\) should be covariant with return type \\(object\\|resource\\|null\\) of method CodeIgniter\\\\Database\\\\BasePreparedQuery\\\\:\\:_getResult\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/PreparedQuery.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Result\\:\\:fetchAssoc\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Result\\:\\:getFieldData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Result\\:\\:getFieldNames\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Result.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Database/SQLite3/Table.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Table\\:\\:addForeignKey\\(\\) has parameter \\$foreignKeys with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Table.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Table\\:\\:addPrimaryKey\\(\\) has parameter \\$fields with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Table.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Table\\:\\:copyData\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Table.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Table\\:\\:dropIndexes\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Table.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Table\\:\\:formatFields\\(\\) has parameter \\$fields with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Table.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Table\\:\\:formatFields\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Table.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\SQLite3\\\\Table\\:\\:\\$foreignKeys type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Table.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Database\\\\SQLite3\\\\Table\\:\\:\\$keys type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Table.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Utils\\:\\:_backup\\(\\) has parameter \\$prefs with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Utils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\SQLite3\\\\Utils\\:\\:\\$optimizeTable is not the same as PHPDoc type bool\\|string of overridden property CodeIgniter\\\\Database\\\\BaseUtils\\:\\:\\$optimizeTable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/SQLite3/Utils.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Seeder\\:\\:call\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Seeder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Database\\\\Seeder\\:\\:run\\(\\) should return mixed but return statement is missing\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Database/Seeder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/BaseExceptionHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\BaseExceptionHandler\\:\\:collectVars\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/BaseExceptionHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\BaseExceptionHandler\\:\\:maskData\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/BaseExceptionHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\BaseExceptionHandler\\:\\:maskData\\(\\) has parameter \\$keysToMask with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/BaseExceptionHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\BaseExceptionHandler\\:\\:maskData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/BaseExceptionHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\BaseExceptionHandler\\:\\:maskSensitiveData\\(\\) has parameter \\$keysToMask with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/BaseExceptionHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\BaseExceptionHandler\\:\\:maskSensitiveData\\(\\) has parameter \\$trace with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/BaseExceptionHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\BaseExceptionHandler\\:\\:maskSensitiveData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/BaseExceptionHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\ExceptionHandler\\:\\:fail\\(\\) has parameter \\$messages with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/ExceptionHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\ExceptionHandler\\:\\:format\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/ExceptionHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\ExceptionHandler\\:\\:respond\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/ExceptionHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\ExceptionHandler\\:\\:respondCreated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/ExceptionHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\ExceptionHandler\\:\\:respondDeleted\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/ExceptionHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\ExceptionHandler\\:\\:respondUpdated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/ExceptionHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Exceptions\\:\\:collectVars\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Exceptions.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Exceptions\\:\\:determineCodes\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Exceptions.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Exceptions\\:\\:fail\\(\\) has parameter \\$messages with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Exceptions.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Exceptions\\:\\:format\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Exceptions.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Exceptions\\:\\:maskData\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Exceptions.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Exceptions\\:\\:maskData\\(\\) has parameter \\$keysToMask with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Exceptions.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Exceptions\\:\\:maskData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Exceptions.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Exceptions\\:\\:maskSensitiveData\\(\\) has parameter \\$keysToMask with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Exceptions.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Exceptions\\:\\:maskSensitiveData\\(\\) has parameter \\$trace with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Exceptions.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Exceptions\\:\\:maskSensitiveData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Exceptions.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Exceptions\\:\\:renderBacktrace\\(\\) has parameter \\$backtrace with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Exceptions.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Exceptions\\:\\:respond\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Exceptions.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Exceptions\\:\\:respondCreated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Exceptions.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Exceptions\\:\\:respondDeleted\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Exceptions.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Exceptions\\:\\:respondUpdated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Exceptions.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Debug\\\\Iterator\\:\\:\\$results type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Iterator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Debug\\\\Iterator\\:\\:\\$tests type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Iterator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 5, + 'path' => __DIR__ . '/system/Debug/Timer.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Timer\\:\\:getTimers\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Timer.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Debug\\\\Timer\\:\\:\\$timers type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Timer.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Debug/Toolbar.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\:\\:collectTimelineData\\(\\) has parameter \\$collectors with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\:\\:collectTimelineData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\:\\:collectVarData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\:\\:renderTimeline\\(\\) has parameter \\$collectors with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\:\\:renderTimeline\\(\\) has parameter \\$styles with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\:\\:renderTimelineRecursive\\(\\) has parameter \\$rows with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\:\\:renderTimelineRecursive\\(\\) has parameter \\$styles with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\:\\:structureTimelineData\\(\\) has parameter \\$elements with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\:\\:structureTimelineData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\BaseCollector\\:\\:display\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/BaseCollector.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\BaseCollector\\:\\:formatTimelineData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/BaseCollector.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\BaseCollector\\:\\:getAsArray\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/BaseCollector.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\BaseCollector\\:\\:getVarData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/BaseCollector.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\BaseCollector\\:\\:timelineData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/BaseCollector.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Config\\:\\:display\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Config.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Database\\:\\:display\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Database.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Database\\:\\:formatTimelineData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Database.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Database\\:\\:\\$connections type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Database.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Database\\:\\:\\$queries type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Database.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Database.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Events\\:\\:display\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Events.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Events\\:\\:formatTimelineData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Events.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Files\\:\\:display\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Files.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\History\\:\\:display\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/History.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\History\\:\\:\\$files type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/History.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Logs.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Logs\\:\\:collectLogs\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Logs.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Logs\\:\\:display\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Logs.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Logs\\:\\:\\$data type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Logs.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Log\\\\Logger\\:\\:\\$logCache \\(array\\) on left side of \\?\\? is not nullable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Logs.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Routes\\:\\:display\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Routes.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Timers\\:\\:formatTimelineData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Timers.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to an undefined method CodeIgniter\\\\View\\\\RendererInterface\\:\\:getData\\(\\)\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Views.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to an undefined method CodeIgniter\\\\View\\\\RendererInterface\\:\\:getPerformanceData\\(\\)\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Views.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Views\\:\\:formatTimelineData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Views.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Views\\:\\:getVarData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Views.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Debug\\\\Toolbar\\\\Collectors\\\\Views\\:\\:\\$views type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Views.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'SERVER_ADDR\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'SERVER_NAME\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 12, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Email\\\\Email\\:\\:__construct\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Email\\\\Email\\:\\:cleanEmail\\(\\) has parameter \\$email with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Email\\\\Email\\:\\:cleanEmail\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Email\\\\Email\\:\\:initialize\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Email\\\\Email\\:\\:printDebugger\\(\\) has parameter \\$include with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Email\\\\Email\\:\\:setArchiveValues\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Email\\\\Email\\:\\:setTo\\(\\) has parameter \\$to with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Email\\\\Email\\:\\:stringToArray\\(\\) has parameter \\$email with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Email\\\\Email\\:\\:stringToArray\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Email\\\\Email\\:\\:validateEmail\\(\\) has parameter \\$email with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, int given on the left side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, string given on the right side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in an if condition, string\\|null given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Email\\\\Email\\:\\:\\$BCCArray type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Email\\\\Email\\:\\:\\$CCArray type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Email\\\\Email\\:\\:\\$archive type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Email\\\\Email\\:\\:\\$attachments type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Email\\\\Email\\:\\:\\$bitDepths type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Email\\\\Email\\:\\:\\$debugMessage type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Email\\\\Email\\:\\:\\$headers type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Email\\\\Email\\:\\:\\$priorities type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Email\\\\Email\\:\\:\\$protocols type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Email\\\\Email\\:\\:\\$recipients type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Email\\\\Email\\:\\:\\$tmpArchive type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Static property CodeIgniter\\\\Email\\\\Email\\:\\:\\$func_overload \\(bool\\) in isset\\(\\) is not nullable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Email/Email.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Encryption\\\\EncrypterInterface\\:\\:decrypt\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Encryption/EncrypterInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Encryption\\\\EncrypterInterface\\:\\:encrypt\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Encryption/EncrypterInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Encryption/Encryption.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Encryption\\\\Encryption\\:\\:__get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Encryption/Encryption.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Encryption\\\\Encryption\\:\\:\\$drivers type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Encryption/Encryption.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Encryption\\\\Handlers\\\\BaseHandler\\:\\:__get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Encryption/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Encryption/Handlers/OpenSSLHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Encryption\\\\Handlers\\\\OpenSSLHandler\\:\\:decrypt\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Encryption/Handlers/OpenSSLHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Encryption\\\\Handlers\\\\OpenSSLHandler\\:\\:encrypt\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Encryption/Handlers/OpenSSLHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in an if condition, array\\|string\\|null given\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Encryption/Handlers/OpenSSLHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Encryption\\\\Handlers\\\\OpenSSLHandler\\:\\:\\$digestSize type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Encryption/Handlers/OpenSSLHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Encryption/Handlers/SodiumHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Encryption\\\\Handlers\\\\SodiumHandler\\:\\:decrypt\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Encryption/Handlers/SodiumHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Encryption\\\\Handlers\\\\SodiumHandler\\:\\:encrypt\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Encryption/Handlers/SodiumHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Encryption\\\\Handlers\\\\SodiumHandler\\:\\:parseParams\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Encryption/Handlers/SodiumHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\ArrayCast\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/ArrayCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\ArrayCast\\:\\:get\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/ArrayCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\ArrayCast\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/ArrayCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\ArrayCast\\:\\:set\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/ArrayCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\ArrayCast\\:\\:set\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/ArrayCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\BaseCast\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/BaseCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\BaseCast\\:\\:get\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/BaseCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\BaseCast\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/BaseCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\BaseCast\\:\\:set\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/BaseCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\BaseCast\\:\\:set\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/BaseCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\BaseCast\\:\\:set\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/BaseCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\BooleanCast\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/BooleanCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\BooleanCast\\:\\:get\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/BooleanCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\CSVCast\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/CSVCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\CSVCast\\:\\:get\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/CSVCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\CSVCast\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/CSVCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\CSVCast\\:\\:set\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/CSVCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\CSVCast\\:\\:set\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/CSVCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\CastInterface\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/CastInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\CastInterface\\:\\:get\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/CastInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\CastInterface\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/CastInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\CastInterface\\:\\:set\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/CastInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\CastInterface\\:\\:set\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/CastInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\CastInterface\\:\\:set\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/CastInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\DatetimeCast\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/DatetimeCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\DatetimeCast\\:\\:get\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/DatetimeCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\FloatCast\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/FloatCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\FloatCast\\:\\:get\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/FloatCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\IntBoolCast\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/IntBoolCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\IntBoolCast\\:\\:set\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/IntBoolCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$value \\(bool\\|int\\|string\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\IntBoolCast\\:\\:set\\(\\) should be contravariant with parameter \\$value \\(array\\|bool\\|float\\|int\\|object\\|string\\|null\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\BaseCast\\:\\:set\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/IntBoolCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$value \\(bool\\|int\\|string\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\IntBoolCast\\:\\:set\\(\\) should be contravariant with parameter \\$value \\(array\\|bool\\|float\\|int\\|object\\|string\\|null\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\CastInterface\\:\\:set\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/IntBoolCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$value \\(int\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\IntBoolCast\\:\\:get\\(\\) should be contravariant with parameter \\$value \\(array\\|bool\\|float\\|int\\|object\\|string\\|null\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\BaseCast\\:\\:get\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/IntBoolCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$value \\(int\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\IntBoolCast\\:\\:get\\(\\) should be contravariant with parameter \\$value \\(array\\|bool\\|float\\|int\\|object\\|string\\|null\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\CastInterface\\:\\:get\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/IntBoolCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\IntegerCast\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/IntegerCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\IntegerCast\\:\\:get\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/IntegerCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\JsonCast\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/JsonCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\JsonCast\\:\\:get\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/JsonCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\JsonCast\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/JsonCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\JsonCast\\:\\:set\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/JsonCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\JsonCast\\:\\:set\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/JsonCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\ObjectCast\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/ObjectCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\ObjectCast\\:\\:get\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/ObjectCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\StringCast\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/StringCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\StringCast\\:\\:get\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/StringCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\TimestampCast\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/TimestampCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\TimestampCast\\:\\:get\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/TimestampCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\TimestampCast\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/TimestampCast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\URICast\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/URICast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Cast\\\\URICast\\:\\:get\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Cast/URICast.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/Entity/Entity.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Entity\\:\\:__construct\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Entity.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Entity\\:\\:__get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Entity.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Entity\\:\\:__set\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Entity.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Entity\\:\\:castAs\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Entity.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Entity\\:\\:fill\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Entity.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Entity\\:\\:injectRawData\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Entity.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Entity\\:\\:jsonSerialize\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Entity.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Entity\\:\\:setAttributes\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Entity.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Entity\\:\\:toArray\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Entity.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Entity\\\\Entity\\:\\:toRawArray\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Entity.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Entity\\\\Entity\\:\\:\\$attributes type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Entity.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Entity\\\\Entity\\:\\:\\$original type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Entity/Entity.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Argument \\#1 \\$name \\(\'Config\\\\\\\\Modules\'\\) passed to function config does not extend CodeIgniter\\\\\\\\Config\\\\\\\\BaseConfig\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Events/Events.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Events\\\\Events\\:\\:listeners\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Events/Events.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Events\\\\Events\\:\\:on\\(\\) has parameter \\$callback with no signature specified for callable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Events/Events.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Events\\\\Events\\:\\:removeListener\\(\\) has parameter \\$listener with no signature specified for callable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Events/Events.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Events\\\\Events\\:\\:setFiles\\(\\) has parameter \\$files with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Events/Events.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Events\\\\Events\\:\\:\\$listeners type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Events/Events.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Events/Events.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Exceptions\\\\PageNotFoundException\\:\\:lang\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Exceptions/PageNotFoundException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type int of property CodeIgniter\\\\Exceptions\\\\PageNotFoundException\\:\\:\\$code is not the same as PHPDoc type mixed of overridden property Exception\\:\\:\\$code\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Exceptions/PageNotFoundException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Files/File.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Files\\\\File\\:\\:\\$size \\(int\\) on left side of \\?\\? is not nullable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Files/File.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/Files/File.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\CSRF\\:\\:after\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/CSRF.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\CSRF\\:\\:before\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/CSRF.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\DebugToolbar\\:\\:after\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/DebugToolbar.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\DebugToolbar\\:\\:before\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/DebugToolbar.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\FilterInterface\\:\\:after\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/FilterInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\FilterInterface\\:\\:before\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/FilterInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Argument \\#1 \\$name \\(\'Config\\\\\\\\Modules\'\\) passed to function config does not extend CodeIgniter\\\\\\\\Config\\\\\\\\BaseConfig\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/Filters.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Filters/Filters.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Expression on left side of \\?\\? is not nullable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/Filters.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\Filters\\:\\:checkExcept\\(\\) has parameter \\$paths with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/Filters.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\Filters\\:\\:checkPseudoRegex\\(\\) has parameter \\$paths with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/Filters.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\Filters\\:\\:enableFilters\\(\\) has parameter \\$names with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/Filters.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\Filters\\:\\:getFilters\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/Filters.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\Filters\\:\\:getFiltersClass\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/Filters.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\Filters\\:\\:pathApplies\\(\\) has parameter \\$paths with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/Filters.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\Filters\\:\\:registerArguments\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/Filters.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a negated boolean, array given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/Filters.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Filters\\\\Filters\\:\\:\\$filters type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/Filters.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Filters\\\\Filters\\:\\:\\$filtersClass type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/Filters.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\Honeypot\\:\\:after\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/Honeypot.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\Honeypot\\:\\:before\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/Honeypot.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\InvalidChars\\:\\:after\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/InvalidChars.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\InvalidChars\\:\\:before\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/InvalidChars.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\InvalidChars\\:\\:checkControl\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/InvalidChars.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\InvalidChars\\:\\:checkControl\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/InvalidChars.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\InvalidChars\\:\\:checkEncoding\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/InvalidChars.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\InvalidChars\\:\\:checkEncoding\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/InvalidChars.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\SecureHeaders\\:\\:after\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/SecureHeaders.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Filters\\\\SecureHeaders\\:\\:before\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Filters/SecureHeaders.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Format\\\\FormatterInterface\\:\\:format\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Format/FormatterInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Format\\\\JSONFormatter\\:\\:format\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Format/JSONFormatter.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Format\\\\XMLFormatter\\:\\:arrayToXML\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Format/XMLFormatter.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Format\\\\XMLFormatter\\:\\:format\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Format/XMLFormatter.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getArgs\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getCookie\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getCookie\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getGet\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getGet\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getGet\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getGetPost\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getGetPost\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getGetPost\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getOptions\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getPost\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getPost\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getPost\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getPostGet\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getPostGet\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getPostGet\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:getSegments\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:returnNullOrEmptyArray\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:returnNullOrEmptyArray\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:\\$args type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:\\$options type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\CLIRequest\\:\\:\\$segments type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CLIRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 10, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Constructor of class CodeIgniter\\\\HTTP\\\\CURLRequest has an unused parameter \\$config\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:__construct\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:applyBody\\(\\) has parameter \\$curlOptions with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:applyBody\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:applyMethod\\(\\) has parameter \\$curlOptions with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:applyMethod\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:applyRequestHeaders\\(\\) has parameter \\$curlOptions with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:applyRequestHeaders\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:delete\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:get\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:head\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:options\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:parseOptions\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:patch\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:post\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:put\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:request\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:sendRequest\\(\\) has parameter \\$curlOptions with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:setCURLOptions\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:setCURLOptions\\(\\) has parameter \\$curlOptions with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:setCURLOptions\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:setForm\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:setJSON\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:setResponseHeaders\\(\\) has parameter \\$headers with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:\\$config type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:\\$defaultConfig type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:\\$defaultOptions type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\CURLRequest\\:\\:\\$redirectDefaults type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 6, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addBaseURI\\(\\) has parameter \\$uri with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addChildSrc\\(\\) has parameter \\$uri with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addConnectSrc\\(\\) has parameter \\$uri with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addFontSrc\\(\\) has parameter \\$uri with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addFormAction\\(\\) has parameter \\$uri with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addFrameAncestor\\(\\) has parameter \\$uri with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addFrameSrc\\(\\) has parameter \\$uri with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addImageSrc\\(\\) has parameter \\$uri with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addManifestSrc\\(\\) has parameter \\$uri with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addMediaSrc\\(\\) has parameter \\$uri with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addObjectSrc\\(\\) has parameter \\$uri with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addOption\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addPluginType\\(\\) has parameter \\$mime with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addSandbox\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addScriptSrc\\(\\) has parameter \\$uri with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addStyleSrc\\(\\) has parameter \\$uri with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:addToHeader\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:setDefaultSrc\\(\\) has parameter \\$uri with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$baseURI type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$childSrc type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$connectSrc type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$defaultSrc type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$fontSrc type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$formAction type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$frameAncestors type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$frameSrc type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$imageSrc type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$manifestSrc type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$mediaSrc type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$nonces type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$objectSrc type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$pluginTypes type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$reportOnlyHeaders type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$sandbox type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$scriptSrc type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$styleSrc type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$tempHeaders type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ContentSecurityPolicy\\:\\:\\$validSources type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'HTTP_USER_AGENT\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/HTTP/DownloadResponse.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\DownloadResponse\\:\\:setCache\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/DownloadResponse.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in an if condition, string given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/DownloadResponse.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\HTTP\\\\DownloadResponse\\) of method CodeIgniter\\\\HTTP\\\\DownloadResponse\\:\\:sendBody\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\HTTP\\\\Response\\)\\) of method CodeIgniter\\\\HTTP\\\\Response\\:\\:sendBody\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/DownloadResponse.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\HTTP\\\\DownloadResponse\\) of method CodeIgniter\\\\HTTP\\\\DownloadResponse\\:\\:sendBody\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\HTTP\\\\ResponseInterface\\)\\) of method CodeIgniter\\\\HTTP\\\\ResponseInterface\\:\\:sendBody\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/DownloadResponse.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\HTTP\\\\ResponseInterface\\) of method CodeIgniter\\\\HTTP\\\\DownloadResponse\\:\\:setContentType\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\HTTP\\\\Response\\)\\) of method CodeIgniter\\\\HTTP\\\\Response\\:\\:setContentType\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/DownloadResponse.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\HTTP\\\\ResponseInterface\\) of method CodeIgniter\\\\HTTP\\\\DownloadResponse\\:\\:setContentType\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\HTTP\\\\ResponseInterface\\)\\) of method CodeIgniter\\\\HTTP\\\\ResponseInterface\\:\\:setContentType\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/DownloadResponse.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\HTTP\\\\Exceptions\\\\HTTPException\\) of method CodeIgniter\\\\HTTP\\\\Exceptions\\\\HTTPException\\:\\:forInvalidFile\\(\\) should be covariant with return type \\(static\\(CodeIgniter\\\\Exceptions\\\\FrameworkException\\)\\) of method CodeIgniter\\\\Exceptions\\\\FrameworkException\\:\\:forInvalidFile\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Exceptions/HTTPException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type int of property CodeIgniter\\\\HTTP\\\\Exceptions\\\\RedirectException\\:\\:\\$code is not the same as PHPDoc type mixed of overridden property Exception\\:\\:\\$code\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Exceptions/RedirectException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Exceptions/RedirectException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function is_array\\(\\) with array will always evaluate to true\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Files/FileCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Files\\\\FileCollection\\:\\:all\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Files/FileCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Files\\\\FileCollection\\:\\:createFileObject\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Files/FileCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Files\\\\FileCollection\\:\\:fixFilesArray\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Files/FileCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Files\\\\FileCollection\\:\\:fixFilesArray\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Files/FileCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Files\\\\FileCollection\\:\\:getValueDotNotationSyntax\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Files/FileCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Files\\\\FileCollection\\:\\:getValueDotNotationSyntax\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Files/FileCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, array given on the right side\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/HTTP/Files/FileCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\Files\\\\FileCollection\\:\\:\\$files type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Files/FileCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Expression on left side of \\?\\? is not nullable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Files/UploadedFile.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\HTTP\\\\Files\\\\UploadedFile\\:\\:\\$originalMimeType is not the same as PHPDoc type string\\|null of overridden property CodeIgniter\\\\Files\\\\File\\:\\:\\$originalMimeType\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Files/UploadedFile.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\Files\\\\UploadedFile\\:\\:\\$error \\(int\\) on left side of \\?\\? is not nullable\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/HTTP/Files/UploadedFile.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(bool\\) of method CodeIgniter\\\\HTTP\\\\Files\\\\UploadedFile\\:\\:move\\(\\) should be compatible with return type \\(CodeIgniter\\\\Files\\\\File\\) of method CodeIgniter\\\\Files\\\\File\\:\\:move\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Files/UploadedFile.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Files/UploadedFile.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'HTTPS\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'QUERY_STRING\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'REQUEST_URI\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'SCRIPT_NAME\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset array\\|string directly on \\$_GET is discouraged\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Assigning string directly on offset \'QUERY_STRING\' of \\$_SERVER is discouraged\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getCookie\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getCookie\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getCookie\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getFileMultiple\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getFiles\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getGet\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getGet\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getGet\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getGetPost\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getGetPost\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getGetPost\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getJSON\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getJsonVar\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getJsonVar\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getJsonVar\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getOldInput\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getPost\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getPost\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getPost\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getPostGet\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getPostGet\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getPostGet\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getRawInput\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getRawInputVar\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getRawInputVar\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getRawInputVar\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getVar\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getVar\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:getVar\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:negotiate\\(\\) has parameter \\$supported with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:setValidLocales\\(\\) has parameter \\$locales with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type CodeIgniter\\\\HTTP\\\\URI of property CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:\\$uri is not the same as PHPDoc type CodeIgniter\\\\HTTP\\\\URI\\|null of overridden property CodeIgniter\\\\HTTP\\\\OutgoingRequest\\:\\:\\$uri\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:\\$oldInput type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\IncomingRequest\\:\\:\\$validLocales type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'CONTENT_TYPE\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Message.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \\(int\\|string\\) directly on \\$_SERVER is discouraged\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Message.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/HTTP/Message.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Message\\:\\:getHeader\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Message.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Message\\:\\:header\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Message.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Message\\:\\:setHeader\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Message.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\Message\\:\\:\\$headerMap type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Message.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\Message\\:\\:\\$protocolVersion \\(string\\) on left side of \\?\\? is not nullable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Message.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\Message\\:\\:\\$validProtocolVersions type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Message.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\MessageInterface\\:\\:header\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/MessageInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\MessageInterface\\:\\:setHeader\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/MessageInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function is_array\\(\\) with array will always evaluate to true\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Negotiate.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Negotiate\\:\\:charset\\(\\) has parameter \\$supported with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Negotiate.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Negotiate\\:\\:encoding\\(\\) has parameter \\$supported with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Negotiate.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Negotiate\\:\\:getBestMatch\\(\\) has parameter \\$supported with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Negotiate.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Negotiate\\:\\:language\\(\\) has parameter \\$supported with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Negotiate.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Negotiate\\:\\:match\\(\\) has parameter \\$acceptable with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Negotiate.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Negotiate\\:\\:matchLocales\\(\\) has parameter \\$acceptable with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Negotiate.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Negotiate\\:\\:matchLocales\\(\\) has parameter \\$supported with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Negotiate.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Negotiate\\:\\:matchParameters\\(\\) has parameter \\$acceptable with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Negotiate.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Negotiate\\:\\:matchParameters\\(\\) has parameter \\$supported with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Negotiate.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Negotiate\\:\\:matchTypes\\(\\) has parameter \\$acceptable with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Negotiate.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Negotiate\\:\\:matchTypes\\(\\) has parameter \\$supported with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Negotiate.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Negotiate\\:\\:media\\(\\) has parameter \\$supported with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Negotiate.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Negotiate\\:\\:parseHeader\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Negotiate.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\OutgoingRequest\\:\\:__construct\\(\\) has parameter \\$headers with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/OutgoingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\|null given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/OutgoingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\HTTP\\\\URI\\|null\\) of method CodeIgniter\\\\HTTP\\\\OutgoingRequest\\:\\:getUri\\(\\) should be covariant with return type \\(CodeIgniter\\\\HTTP\\\\URI\\) of method CodeIgniter\\\\HTTP\\\\OutgoingRequestInterface\\:\\:getUri\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/OutgoingRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\RedirectResponse\\:\\:route\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/RedirectResponse.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\RedirectResponse\\:\\:with\\(\\) has parameter \\$message with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/RedirectResponse.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in an if condition, array\\ given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/RedirectResponse.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Variable \\$_GET on left side of \\?\\? always exists and is not nullable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/RedirectResponse.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Variable \\$_POST on left side of \\?\\? always exists and is not nullable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/RedirectResponse.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/HTTP/Request.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Request\\:\\:fetchGlobal\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Request.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Request\\:\\:fetchGlobal\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Request.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Request\\:\\:fetchGlobal\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Request.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Request\\:\\:getEnv\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Request.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Request\\:\\:getEnv\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Request.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Request\\:\\:getServer\\(\\) has parameter \\$flags with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Request.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Request\\:\\:getServer\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Request.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in an if condition, string given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Request.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\Request\\:\\:\\$globals type has no value type specified in iterable type array\\.$#', + 'count' => 5, + 'path' => __DIR__ . '/system/HTTP/Request.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\RequestInterface\\:\\:getServer\\(\\) has parameter \\$index with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/RequestInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'REQUEST_METHOD\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'SERVER_PROTOCOL\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'SERVER_SOFTWARE\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Response\\:\\:doSetCookie\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Response\\:\\:doSetRawCookie\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Response\\:\\:formatBody\\(\\) has parameter \\$body with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Response\\:\\:setCache\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Response\\:\\:setCookie\\(\\) has parameter \\$name with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Response\\:\\:setJSON\\(\\) has parameter \\$body with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\Response\\:\\:setXML\\(\\) has parameter \\$body with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, string\\|null given on the left side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, string\\|null given on the right side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in an if condition, string\\|null given\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\Response\\:\\:\\$cookies type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\Response\\:\\:\\$statusCodes type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 5, + 'path' => __DIR__ . '/system/HTTP/Response.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ResponseInterface\\:\\:setCache\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ResponseInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ResponseInterface\\:\\:setCookie\\(\\) has parameter \\$name with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ResponseInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ResponseInterface\\:\\:setJSON\\(\\) has parameter \\$body with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ResponseInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ResponseInterface\\:\\:setXML\\(\\) has parameter \\$body with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/ResponseInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/HTTP/SiteURI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\SiteURI\\:\\:applyParts\\(\\) has parameter \\$parts with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/SiteURI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\SiteURI\\:\\:baseUrl\\(\\) has parameter \\$relativePath with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/SiteURI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\SiteURI\\:\\:convertToSegments\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/SiteURI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\SiteURI\\:\\:parseRelativePath\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/SiteURI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\SiteURI\\:\\:siteUrl\\(\\) has parameter \\$relativePath with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/SiteURI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\SiteURI\\:\\:stringifyRelativePath\\(\\) has parameter \\$relativePath with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/SiteURI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\SiteURI\\:\\:\\$baseSegments type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/SiteURI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\SiteURI\\:\\:\\$segments type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/SiteURI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Strict comparison using \\!\\=\\= between mixed and null will always evaluate to true\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/SiteURI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 10, + 'path' => __DIR__ . '/system/HTTP/URI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\URI\\:\\:applyParts\\(\\) has parameter \\$parts with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/URI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\URI\\:\\:changeSchemeAndPath\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/URI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\URI\\:\\:getQuery\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/URI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\URI\\:\\:getSegments\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/URI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\URI\\:\\:parseStr\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/URI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HTTP\\\\URI\\:\\:setQueryArray\\(\\) has parameter \\$query with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/URI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\URI\\:\\:\\$defaultPorts type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/URI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\URI\\:\\:\\$fragment \\(string\\) on left side of \\?\\? is not nullable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/URI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\URI\\:\\:\\$host \\(string\\) on left side of \\?\\? is not nullable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/URI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\URI\\:\\:\\$path \\(string\\) on left side of \\?\\? is not nullable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/URI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\URI\\:\\:\\$query type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/URI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HTTP\\\\URI\\:\\:\\$segments type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/URI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Strict comparison using \\!\\=\\= between mixed and null will always evaluate to true\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HTTP/URI.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'HTTP_REFERER\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/HTTP/UserAgent.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'HTTP_USER_AGENT\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/HTTP/UserAgent.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/HTTP/UserAgent.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, array\\ given on the right side\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/HTTP/UserAgent.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function _array_attach_indexed_value\\(\\) has parameter \\$indexes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function _array_attach_indexed_value\\(\\) has parameter \\$result with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function _array_attach_indexed_value\\(\\) has parameter \\$row with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function _array_attach_indexed_value\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function _array_search_dot\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function _array_search_dot\\(\\) has parameter \\$indexes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function _array_search_dot\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function array_deep_search\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function array_deep_search\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function array_flatten_with_dots\\(\\) has parameter \\$array with no value type specified in iterable type iterable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function array_flatten_with_dots\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function array_group_by\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function array_group_by\\(\\) has parameter \\$indexes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function array_group_by\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function array_sort_by_multiple_keys\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function array_sort_by_multiple_keys\\(\\) has parameter \\$sortColumns with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function dot_array_search\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function dot_array_search\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/array_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function get_cookie\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/cookie_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function set_cookie\\(\\) has parameter \\$name with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/cookie_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function directory_map\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function get_dir_file_info\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function get_file_info\\(\\) has parameter \\$returnedValues with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function get_file_info\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function get_filenames\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 1024\\> given\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 128\\> given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 16\\> given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 1\\> given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 2048\\> given\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 256\\> given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 2\\> given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 32\\> given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 4\\> given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 512\\> given\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 64\\> given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, 8\\> given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Right side of && is always true\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Variable \\$result might not be defined\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function is_array\\(\\) with array will always evaluate to true\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_button\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_button\\(\\) has parameter \\$extra with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_checkbox\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_checkbox\\(\\) has parameter \\$extra with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_datalist\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_dropdown\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_dropdown\\(\\) has parameter \\$extra with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_dropdown\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_dropdown\\(\\) has parameter \\$selected with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_fieldset\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_hidden\\(\\) has parameter \\$name with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_hidden\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_input\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_input\\(\\) has parameter \\$extra with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_label\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_multiselect\\(\\) has parameter \\$extra with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_multiselect\\(\\) has parameter \\$name with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_multiselect\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_multiselect\\(\\) has parameter \\$selected with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_open\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_open\\(\\) has parameter \\$hidden with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_open_multipart\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_open_multipart\\(\\) has parameter \\$hidden with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_password\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_password\\(\\) has parameter \\$extra with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_radio\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_radio\\(\\) has parameter \\$extra with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_reset\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_reset\\(\\) has parameter \\$extra with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_submit\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_submit\\(\\) has parameter \\$extra with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_textarea\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_textarea\\(\\) has parameter \\$extra with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_upload\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function form_upload\\(\\) has parameter \\$extra with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function parse_form_attributes\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function parse_form_attributes\\(\\) has parameter \\$default with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, array given on the right side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a negated boolean, int\\<0, max\\> given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a negated boolean, string given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/form_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function _list\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function _list\\(\\) has parameter \\$list with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function _media\\(\\) has parameter \\$tracks with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function _media\\(\\) has parameter \\$types with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function audio\\(\\) has parameter \\$src with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function audio\\(\\) has parameter \\$tracks with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function img\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function img\\(\\) has parameter \\$src with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function object\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function ol\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function ol\\(\\) has parameter \\$list with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function script_tag\\(\\) has parameter \\$src with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function ul\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function ul\\(\\) has parameter \\$list with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function video\\(\\) has parameter \\$src with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function video\\(\\) has parameter \\$tracks with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, string given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/html_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function d\\(\\) has parameter \\$vars with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/kint_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function dd\\(\\) has parameter \\$vars with no value type specified in iterable type array\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Helpers/kint_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function format_number\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/number_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Helpers/test_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function fake\\(\\) has parameter \\$overrides with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/test_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function fake\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/test_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/text_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function strip_slashes\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/text_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function strip_slashes\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/text_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function word_censor\\(\\) has parameter \\$censored with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/text_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/text_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/url_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function anchor\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/url_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function anchor\\(\\) has parameter \\$uri with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/url_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function anchor_popup\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/url_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function base_url\\(\\) has parameter \\$relativePath with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/url_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function mailto\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/url_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function safe_mailto\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/url_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Function site_url\\(\\) has parameter \\$relativePath with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/url_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Implicit array creation is not allowed \\- variable \\$atts might not exist\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/url_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, string given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/url_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Variable \\$atts might not be defined\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Helpers/url_helper.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Honeypot/Honeypot.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HotReloader\\\\DirectoryHasher\\:\\:hashApp\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HotReloader/DirectoryHasher.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\HotReloader\\\\HotReloader\\:\\:sendEvent\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HotReloader/HotReloader.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in \\|\\|, int given on the right side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HotReloader/HotReloader.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\HotReloader\\\\IteratorFilter\\:\\:\\$watchedExtensions type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/HotReloader/IteratorFilter.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\I18n\\\\Time\\:\\:__get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/I18n/Time.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\I18n\\\\Time\\) of method CodeIgniter\\\\I18n\\\\Time\\:\\:setTimestamp\\(\\) should be covariant with return type \\(static\\(DateTimeImmutable\\)\\) of method DateTimeImmutable\\:\\:setTimestamp\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/I18n/Time.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\I18n\\\\Time\\) of method CodeIgniter\\\\I18n\\\\Time\\:\\:setTimezone\\(\\) should be covariant with return type \\(static\\(DateTimeImmutable\\)\\) of method DateTimeImmutable\\:\\:setTimezone\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/I18n/Time.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/I18n/Time.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\I18n\\\\TimeLegacy\\:\\:__get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/I18n/TimeLegacy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\I18n\\\\TimeLegacy\\) of method CodeIgniter\\\\I18n\\\\TimeLegacy\\:\\:setTimestamp\\(\\) should be covariant with return type \\(static\\(DateTime\\)\\) of method DateTime\\:\\:setTimestamp\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/I18n/TimeLegacy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\I18n\\\\TimeLegacy\\) of method CodeIgniter\\\\I18n\\\\TimeLegacy\\:\\:setTimezone\\(\\) should be covariant with return type \\(static\\(DateTime\\)\\) of method DateTime\\:\\:setTimezone\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/I18n/TimeLegacy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/I18n/TimeLegacy.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:__call\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:__call\\(\\) should return mixed but return statement is missing\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:_text\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:calcAspectRatio\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:calcCropCoords\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:text\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:\\$image \\(CodeIgniter\\\\Images\\\\Image\\) in empty\\(\\) is not falsy\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:\\$supportTransparency type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:\\$textDefaults type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\) of method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:fit\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\Images\\\\ImageHandlerInterface\\)\\) of method CodeIgniter\\\\Images\\\\ImageHandlerInterface\\:\\:fit\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\) of method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:resize\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\Images\\\\ImageHandlerInterface\\)\\) of method CodeIgniter\\\\Images\\\\ImageHandlerInterface\\:\\:resize\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Comparison operation "\\>\\=" between \\(array\\|float\\|int\\) and 0 results in an error\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 9, + 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Images\\\\Handlers\\\\ImageMagickHandler\\:\\:_text\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Images\\\\Handlers\\\\ImageMagickHandler\\:\\:process\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string\\|null of property CodeIgniter\\\\Images\\\\Handlers\\\\ImageMagickHandler\\:\\:\\$resource is not the same as PHPDoc type resource\\|null of overridden property CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:\\$resource\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:\\$height \\(int\\) on left side of \\?\\? is not nullable\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:\\$width \\(int\\) on left side of \\?\\? is not nullable\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(CodeIgniter\\\\Images\\\\Handlers\\\\ImageMagickHandler\\) of method CodeIgniter\\\\Images\\\\Handlers\\\\ImageMagickHandler\\:\\:_resize\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\)\\) of method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:_resize\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(bool\\|CodeIgniter\\\\Images\\\\Handlers\\\\ImageMagickHandler\\) of method CodeIgniter\\\\Images\\\\Handlers\\\\ImageMagickHandler\\:\\:_crop\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\)\\) of method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:_crop\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Image.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Images\\\\Image\\:\\:getProperties\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/Image.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Images\\\\ImageHandlerInterface\\:\\:text\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Images/ImageHandlerInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Language\\\\Language\\:\\:formatMessage\\(\\) has parameter \\$message with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Language/Language.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Language\\\\Language\\:\\:formatMessage\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Language/Language.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Language\\\\Language\\:\\:getLine\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Language/Language.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Language\\\\Language\\:\\:getTranslationOutput\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Language/Language.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Language\\\\Language\\:\\:load\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Language/Language.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Language\\\\Language\\:\\:parseLine\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Language/Language.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Language\\\\Language\\:\\:requireFile\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Language/Language.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Language\\\\Language\\:\\:\\$language type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Language/Language.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Language\\\\Language\\:\\:\\$loadedFiles type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Language/Language.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Log\\\\Handlers\\\\BaseHandler\\:\\:__construct\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Log/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Log\\\\Handlers\\\\BaseHandler\\:\\:\\$handles type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Log/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Log\\\\Handlers\\\\ChromeLoggerHandler\\:\\:__construct\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Log/Handlers/ChromeLoggerHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Log\\\\Handlers\\\\ChromeLoggerHandler\\:\\:format\\(\\) has parameter \\$object with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Log/Handlers/ChromeLoggerHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Log\\\\Handlers\\\\ChromeLoggerHandler\\:\\:format\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Log/Handlers/ChromeLoggerHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Log\\\\Handlers\\\\ChromeLoggerHandler\\:\\:\\$json type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Log/Handlers/ChromeLoggerHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Log\\\\Handlers\\\\ChromeLoggerHandler\\:\\:\\$levels type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Log/Handlers/ChromeLoggerHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Log/Handlers/FileHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Log\\\\Handlers\\\\FileHandler\\:\\:__construct\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Log/Handlers/FileHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Strict comparison using \\=\\=\\= between true and true will always evaluate to true\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Log/Handlers/FileHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Log\\\\Logger\\:\\:determineFile\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Log/Logger.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Log\\\\Logger\\:\\:interpolate\\(\\) has parameter \\$context with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Log/Logger.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$level \\(string\\) of method CodeIgniter\\\\Log\\\\Logger\\:\\:log\\(\\) should be contravariant with parameter \\$level \\(mixed\\) of method Psr\\\\Log\\\\LoggerInterface\\:\\:log\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Log/Logger.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Log\\\\Logger\\:\\:\\$handlers type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Log/Logger.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Log\\\\Logger\\:\\:\\$logCache type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Log/Logger.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Log\\\\Logger\\:\\:\\$loggableLevels type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Log/Logger.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:__call\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:__call\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:__get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:chunk\\(\\) has parameter \\$userFunc with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:classToArray\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:doDelete\\(\\) has parameter \\$id with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:doFind\\(\\) has parameter \\$id with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:doInsertBatch\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:doProtectFieldsForInsert\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:doUpdate\\(\\) has parameter \\$id with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:doUpdateBatch\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:getIdValue\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:idValue\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:idValue\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:set\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:shouldUpdate\\(\\) has parameter \\$row with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Model\\:\\:update\\(\\) has parameter \\$id with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, array given on the left side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, string given on the right side\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, string\\|null given on the left side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in an if condition, array\\|int\\|string\\|null given\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Model\\:\\:\\$escape type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Model\\:\\:\\$tempData type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(array\\|bool\\|float\\|int\\|object\\|string\\|null\\) of method CodeIgniter\\\\Model\\:\\:__call\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\BaseModel\\)\\|null\\) of method CodeIgniter\\\\BaseModel\\:\\:__call\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Model.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Modules\\\\Modules\\:\\:__set_state\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Modules/Modules.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset mixed directly on \\$_GET is discouraged\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Pager/Pager.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Pager/Pager.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Pager\\\\Pager\\:\\:getDetails\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Pager/Pager.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Pager\\\\Pager\\:\\:only\\(\\) has parameter \\$queries with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Pager/Pager.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in an if condition, array given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Pager/Pager.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Pager\\\\Pager\\:\\:\\$groups type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Pager/Pager.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Pager\\\\Pager\\:\\:\\$only type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Pager/Pager.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Pager\\\\Pager\\:\\:\\$segment type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Pager/Pager.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Pager/Pager.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Pager\\\\PagerInterface\\:\\:getDetails\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Pager/PagerInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Pager\\\\PagerRenderer\\:\\:__construct\\(\\) has parameter \\$details with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Pager/PagerRenderer.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Publisher\\\\ContentReplacer\\:\\:replace\\(\\) has parameter \\$replaces with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Publisher/ContentReplacer.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Publisher\\\\Publisher\\:\\:replace\\(\\) has parameter \\$replaces with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Publisher/Publisher.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Argument \\#1 \\$name \\(class\\-string\\) passed to function model does not extend CodeIgniter\\\\\\\\Model\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/RESTful/BaseResource.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/RESTful/BaseResource.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in an if condition, object\\|string\\|null given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/RESTful/BaseResource.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type CodeIgniter\\\\HTTP\\\\CLIRequest\\|CodeIgniter\\\\HTTP\\\\IncomingRequest of property CodeIgniter\\\\RESTful\\\\BaseResource\\:\\:\\$request is not the same as PHPDoc type CodeIgniter\\\\HTTP\\\\RequestInterface of overridden property CodeIgniter\\\\Controller\\:\\:\\$request\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/RESTful/BaseResource.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\RESTful\\\\ResourceController\\:\\:fail\\(\\) has parameter \\$messages with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/RESTful/ResourceController.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\RESTful\\\\ResourceController\\:\\:format\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/RESTful/ResourceController.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\RESTful\\\\ResourceController\\:\\:respond\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/RESTful/ResourceController.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\RESTful\\\\ResourceController\\:\\:respondCreated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/RESTful/ResourceController.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\RESTful\\\\ResourceController\\:\\:respondDeleted\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/RESTful/ResourceController.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\RESTful\\\\ResourceController\\:\\:respondUpdated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/RESTful/ResourceController.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\AutoRouter\\:\\:__construct\\(\\) has parameter \\$cliRoutes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/AutoRouter.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\AutoRouter\\:\\:getRoute\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/AutoRouter.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\AutoRouter\\:\\:scanControllers\\(\\) has parameter \\$segments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/AutoRouter.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\AutoRouter\\:\\:scanControllers\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/AutoRouter.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/AutoRouter.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc tag @var for variable \\$params has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/AutoRouter.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/AutoRouter.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\AutoRouterImproved\\:\\:createSegments\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/AutoRouterImproved.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\AutoRouterImproved\\:\\:getRoute\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/AutoRouterImproved.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, Config\\\\Routing given on the right side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/AutoRouterImproved.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\AutoRouterInterface\\:\\:getRoute\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/AutoRouterInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type int of property CodeIgniter\\\\Router\\\\Exceptions\\\\RedirectException\\:\\:\\$code is not the same as PHPDoc type mixed of overridden property Exception\\:\\:\\$code\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Exceptions/RedirectException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 6, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:add\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:add\\(\\) has parameter \\$to with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:addPlaceholder\\(\\) has parameter \\$placeholder with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:buildReverseRoute\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:cli\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:cli\\(\\) has parameter \\$to with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:create\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:create\\(\\) has parameter \\$to with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:delete\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:delete\\(\\) has parameter \\$to with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:environment\\(\\) has parameter \\$callback with no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:fillRouteParams\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:get\\(\\) has parameter \\$to with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:getRoutes\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:group\\(\\) has parameter \\$params with no signature specified for callable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:group\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:head\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:head\\(\\) has parameter \\$to with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:map\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:map\\(\\) has parameter \\$routes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:match\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:match\\(\\) has parameter \\$to with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:match\\(\\) has parameter \\$verbs with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:options\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:options\\(\\) has parameter \\$to with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:patch\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:patch\\(\\) has parameter \\$to with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:post\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:post\\(\\) has parameter \\$to with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:presenter\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:processArrayCallableSyntax\\(\\) has parameter \\$to with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:put\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:put\\(\\) has parameter \\$to with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:resource\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:view\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, array\\ given on the left side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, string given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Router\\\\RouteCollection\\:\\:\\$currentOptions type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Router\\\\RouteCollection\\:\\:\\$defaultHTTPMethods type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Router\\\\RouteCollection\\:\\:\\$routeFiles type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Router\\\\RouteCollection\\:\\:\\$routes type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Router\\\\RouteCollection\\:\\:\\$routesNames type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Router\\\\RouteCollection\\:\\:\\$routesOptions type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:add\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:add\\(\\) has parameter \\$to with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:addPlaceholder\\(\\) has parameter \\$placeholder with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:getRoutes\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'REQUEST_METHOD\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:getDefaultNamespace\\(\\)\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:getFilterForRoute\\(\\)\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:getFiltersForRoute\\(\\)\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:getRegisteredControllers\\(\\)\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:getRoutesOptions\\(\\)\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:isFiltered\\(\\)\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:setHTTPVerb\\(\\)\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 3, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Expression on left side of \\?\\? is not nullable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:get404Override\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:getMatchedRoute\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:getMatchedRouteOptions\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:params\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:scanControllers\\(\\) has parameter \\$segments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:scanControllers\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:setMatchedRoute\\(\\) has parameter \\$handler with no signature specified for callable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:setRequest\\(\\) has parameter \\$segments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:validateRequest\\(\\) has parameter \\$segments with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:validateRequest\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Router\\\\Router\\:\\:\\$matchedRoute type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Router\\\\Router\\:\\:\\$matchedRouteOptions type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Router\\\\Router\\:\\:\\$params type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/Router.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Router\\\\RouterInterface\\:\\:params\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Router/RouterInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forEmptySavepath\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forInvalidSameSiteSetting\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forInvalidSavePath\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forInvalidSavePathFormat\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forMissingDatabaseTable\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forWriteProtectedSavePath\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Session\\\\Handlers\\\\ArrayHandler\\:\\:\\$cache has no type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Handlers/ArrayHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Session\\\\Handlers\\\\BaseHandler\\:\\:\\$savePath type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Handlers/BaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\Database\\\\PostgreHandler\\:\\:setSelect\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Handlers/Database/PostgreHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in an if condition, mixed given\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Session/Handlers/Database/PostgreHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Session/Handlers/DatabaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\DatabaseHandler\\:\\:setSelect\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Handlers/DatabaseHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Handlers/FileHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\FileHandler\\:\\:configureSessionIDRegex\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Handlers/FileHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a negated boolean, string given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Handlers/FileHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Session\\\\Handlers\\\\FileHandler\\:\\:\\$savePath is not the same as PHPDoc type array\\|string of overridden property CodeIgniter\\\\Session\\\\Handlers\\\\BaseHandler\\:\\:\\$savePath\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Handlers/FileHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Variable \\$written might not be defined\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Handlers/FileHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Handlers/MemcachedHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in an if condition, mixed given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Handlers/MemcachedHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'count' => 4, + 'path' => __DIR__ . '/system/Session/Handlers/RedisHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in &&, string given on the right side\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Handlers/RedisHandler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Accessing offset \'HTTP_X_REQUESTED_WITH\' directly on \\$_SERVER is discouraged\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:__set\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:configure\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:configureSidLength\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:destroy\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:getFlashKeys\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:getFlashdata\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:getTempKeys\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:getTempdata\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:initVars\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:keepFlashdata\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:keepFlashdata\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:markAsFlashdata\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:markAsTempdata\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:push\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:push\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:regenerate\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:remove\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:remove\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:removeTempdata\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:set\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:set\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:set\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setCookie\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setFlashdata\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setFlashdata\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setFlashdata\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setSaveHandler\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setTempdata\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setTempdata\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setTempdata\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:startSession\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:stop\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:unmarkFlashdata\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:unmarkFlashdata\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:unmarkTempdata\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:unmarkTempdata\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(bool\\) of method CodeIgniter\\\\Session\\\\Session\\:\\:markAsFlashdata\\(\\) should be covariant with return type \\(false\\) of method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:markAsFlashdata\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/Session.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:destroy\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:getFlashKeys\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:getFlashdata\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:getTempKeys\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:getTempdata\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:keepFlashdata\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:keepFlashdata\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:markAsFlashdata\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:markAsTempdata\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:regenerate\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:remove\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:remove\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:removeTempdata\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:set\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:set\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:set\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:setFlashdata\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:setFlashdata\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:setFlashdata\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:setTempdata\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:setTempdata\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:setTempdata\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:unmarkFlashdata\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:unmarkFlashdata\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:unmarkTempdata\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:unmarkTempdata\\(\\) has parameter \\$key with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Session/SessionInterface.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Superglobals\\:\\:__construct\\(\\) has parameter \\$get with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Superglobals.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Superglobals\\:\\:__construct\\(\\) has parameter \\$server with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Superglobals.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Superglobals\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Superglobals.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Superglobals\\:\\:setGetArray\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Superglobals.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Superglobals\\:\\:\\$get type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Superglobals.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Superglobals\\:\\:\\$server type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Superglobals.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:clearInsertCache\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:dontSeeInDatabase\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:dontSeeInDatabase\\(\\) has parameter \\$where with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:grabFromDatabase\\(\\) has parameter \\$where with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:hasInDatabase\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:loadDependencies\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:migrateDatabase\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:regressDatabase\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:resetMigrationSeedCount\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:runSeeds\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:seeInDatabase\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:seeInDatabase\\(\\) has parameter \\$where with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:seeNumRecords\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:seeNumRecords\\(\\) has parameter \\$where with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:seed\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:setUpDatabase\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:setUpMigrate\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:setUpSeed\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:tearDownDatabase\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:assertCloseEnough\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:getPrivateMethodInvoker\\(\\) return type has no signature specified for Closure\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:mockCache\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:mockEmail\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:mockSession\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:resetFactories\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:resetServices\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:setPrivateProperty\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a negated boolean, CodeIgniter\\\\CodeIgniter given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$headers type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$insertCache type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$namespace type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$seed type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$session type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$setUpMethods type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$tearDownMethods type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$traits type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Constraints\\\\SeeInDatabase\\:\\:__construct\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Constraints/SeeInDatabase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\Constraints\\\\SeeInDatabase\\:\\:\\$data type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Constraints/SeeInDatabase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function is_array\\(\\) with non\\-empty\\-array will always evaluate to true\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/DOMParser.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\DOMParser\\:\\:doXPath\\(\\) has parameter \\$paths with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/DOMParser.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Fabricator\\:\\:__construct\\(\\) has parameter \\$formatters with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Fabricator\\:\\:create\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Fabricator\\:\\:createMock\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Fabricator\\:\\:getFormatters\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Fabricator\\:\\:getOverrides\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Fabricator\\:\\:make\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Fabricator\\:\\:makeArray\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Fabricator\\:\\:resetCounts\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Fabricator\\:\\:setFormatters\\(\\) has parameter \\$formatters with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Fabricator\\:\\:setOverrides\\(\\) has parameter \\$overrides with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$name of function model expects a valid class string, string given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\Fabricator\\:\\:\\$dateFields type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\Fabricator\\:\\:\\$formatters type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\Fabricator\\:\\:\\$overrides type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\Fabricator\\:\\:\\$tableCounts type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\Fabricator\\:\\:\\$tempOverrides type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Fabricator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Assigning \'test\' directly on offset \'HTTPS\' of \\$_SERVER is discouraged\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Assigning string directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:call\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:clearInsertCache\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:delete\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:dontSeeInDatabase\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:dontSeeInDatabase\\(\\) has parameter \\$where with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:grabFromDatabase\\(\\) has parameter \\$where with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:hasInDatabase\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:loadDependencies\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:migrateDatabase\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:options\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:patch\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:populateGlobals\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:post\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:put\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:regressDatabase\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:resetMigrationSeedCount\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:runSeeds\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:seeInDatabase\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:seeInDatabase\\(\\) has parameter \\$where with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:seeNumRecords\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:seeNumRecords\\(\\) has parameter \\$where with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:seed\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:setRequestBody\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:setUpDatabase\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:setUpMigrate\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:setUpSeed\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:tearDownDatabase\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:withHeaders\\(\\) has parameter \\$headers with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:withRoutes\\(\\) has parameter \\$routes with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:withSession\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Only booleans are allowed in a negated boolean, CodeIgniter\\\\Router\\\\RouteCollection\\|null given\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$bodyFormat \\(string\\) in isset\\(\\) is not nullable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$clean \\(bool\\) in isset\\(\\) is not nullable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$session \\(array\\) on left side of \\?\\? is not nullable\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Interfaces\\\\FabricatorModel\\:\\:find\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Interfaces/FabricatorModel.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Interfaces\\\\FabricatorModel\\:\\:insert\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Interfaces/FabricatorModel.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockBuilder\\:\\:\\$supportedIgnoreStatements type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockBuilder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockCLIConfig\\:\\:\\$CSRFExcludeURIs has no type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockCLIConfig.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:getBaseURI\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:getDelay\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:sendRequest\\(\\) has parameter \\$curlOptions with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:setOutput\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:setOutput\\(\\) has parameter \\$output with no type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:\\$curl_options has no type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:\\$output has no type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCache\\:\\:getMetaData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockCache.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Test/Mock/MockCache.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot access property \\$insert_id on object\\|resource\\|false\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:_close\\(\\) should return mixed but return statement is missing\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:_fieldData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:_foreignKeyData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:_indexData\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:shouldReturn\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:shouldReturn\\(\\) has parameter \\$return with no type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:\\$returnValues has no type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(array\\{code\\: int\\|string\\|null, message\\: string\\|null\\}\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:error\\(\\) should be covariant with return type \\(array\\\\) of method CodeIgniter\\\\Database\\\\ConnectionInterface\\\\:\\:error\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(bool\\|CodeIgniter\\\\Database\\\\BaseResult\\|CodeIgniter\\\\Database\\\\Query\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:query\\(\\) should be covariant with return type \\(bool\\|CodeIgniter\\\\Database\\\\BaseResult\\\\|CodeIgniter\\\\Database\\\\Query\\) of method CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:query\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(bool\\|CodeIgniter\\\\Database\\\\BaseResult\\|CodeIgniter\\\\Database\\\\Query\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:query\\(\\) should be covariant with return type \\(bool\\|CodeIgniter\\\\Database\\\\BaseResult\\\\|CodeIgniter\\\\Database\\\\Query\\) of method CodeIgniter\\\\Database\\\\ConnectionInterface\\\\:\\:query\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(bool\\|object\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:execute\\(\\) should be covariant with return type \\(object\\|resource\\|false\\) of method CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:execute\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:connect\\(\\) should be covariant with return type \\(object\\|resource\\|false\\) of method CodeIgniter\\\\Database\\\\ConnectionInterface\\\\:\\:connect\\(\\)$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:setDatabase\\(\\) should be covariant with return type \\(bool\\) of method CodeIgniter\\\\Database\\\\ConnectionInterface\\\\:\\:setDatabase\\(\\)$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockEvents\\:\\:getEventsFile\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockEvents.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockEvents\\:\\:getListeners\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockEvents.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockEvents\\:\\:getSimulate\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/text_helper.php', + 'path' => __DIR__ . '/system/Test/Mock/MockEvents.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockEvents\\:\\:unInitialize\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/text_helper.php', + 'path' => __DIR__ . '/system/Test/Mock/MockEvents.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockFileLogger\\:\\:__construct\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/url_helper.php', + 'path' => __DIR__ . '/system/Test/Mock/MockFileLogger.php', ]; $ignoreErrors[] = [ - 'message' => '#^Implicit array creation is not allowed \\- variable \\$atts might not exist\\.$#', + 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockFileLogger\\:\\:\\$destination has no type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/url_helper.php', + 'path' => __DIR__ . '/system/Test/Mock/MockFileLogger.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, string given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockLanguage\\:\\:disableIntlSupport\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/url_helper.php', + 'path' => __DIR__ . '/system/Test/Mock/MockLanguage.php', ]; $ignoreErrors[] = [ - 'message' => '#^Variable \\$atts might not be defined\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockLanguage\\:\\:requireFile\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/url_helper.php', + 'path' => __DIR__ . '/system/Test/Mock/MockLanguage.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockLanguage\\:\\:setData\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Honeypot/Honeypot.php', + 'path' => __DIR__ . '/system/Test/Mock/MockLanguage.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in \\|\\|, int given on the right side\\.$#', + 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockLogger\\:\\:\\$dateFormat has no type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/HotReloader/HotReloader.php', + 'path' => __DIR__ . '/system/Test/Mock/MockLogger.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\I18n\\\\Time\\) of method CodeIgniter\\\\I18n\\\\Time\\:\\:setTimestamp\\(\\) should be covariant with return type \\(static\\(DateTimeImmutable\\)\\) of method DateTimeImmutable\\:\\:setTimestamp\\(\\)$#', + 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockLogger\\:\\:\\$handlers has no type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/I18n/Time.php', + 'path' => __DIR__ . '/system/Test/Mock/MockLogger.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\I18n\\\\Time\\) of method CodeIgniter\\\\I18n\\\\Time\\:\\:setTimezone\\(\\) should be covariant with return type \\(static\\(DateTimeImmutable\\)\\) of method DateTimeImmutable\\:\\:setTimezone\\(\\)$#', + 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockLogger\\:\\:\\$threshold has no type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/I18n/Time.php', + 'path' => __DIR__ . '/system/Test/Mock/MockLogger.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/I18n/Time.php', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourceController\\:\\:getFormat\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockResourceController.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\I18n\\\\TimeLegacy\\) of method CodeIgniter\\\\I18n\\\\TimeLegacy\\:\\:setTimestamp\\(\\) should be covariant with return type \\(static\\(DateTime\\)\\) of method DateTime\\:\\:setTimestamp\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourceController\\:\\:getModel\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/I18n/TimeLegacy.php', + 'path' => __DIR__ . '/system/Test/Mock/MockResourceController.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\I18n\\\\TimeLegacy\\) of method CodeIgniter\\\\I18n\\\\TimeLegacy\\:\\:setTimezone\\(\\) should be covariant with return type \\(static\\(DateTime\\)\\) of method DateTime\\:\\:setTimezone\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourceController\\:\\:getModelName\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/I18n/TimeLegacy.php', + 'path' => __DIR__ . '/system/Test/Mock/MockResourceController.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/I18n/TimeLegacy.php', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:fail\\(\\) has parameter \\$messages with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:format\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:__call\\(\\) should return mixed but return statement is missing\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:getFormat\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', + 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:\\$image \\(CodeIgniter\\\\Images\\\\Image\\) in empty\\(\\) is not falsy\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:getModel\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', + 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\) of method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:fit\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\Images\\\\ImageHandlerInterface\\)\\) of method CodeIgniter\\\\Images\\\\ImageHandlerInterface\\:\\:fit\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:getModelName\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', + 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\) of method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:resize\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\Images\\\\ImageHandlerInterface\\)\\) of method CodeIgniter\\\\Images\\\\ImageHandlerInterface\\:\\:resize\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:respond\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', + 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', ]; $ignoreErrors[] = [ - 'message' => '#^Comparison operation "\\>\\=" between \\(array\\|float\\|int\\) and 0 results in an error\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:respondCreated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 9, - 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:respondDeleted\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string\\|null of property CodeIgniter\\\\Images\\\\Handlers\\\\ImageMagickHandler\\:\\:\\$resource is not the same as PHPDoc type resource\\|null of overridden property CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:\\$resource\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:respondUpdated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', + 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:\\$height \\(int\\) on left side of \\?\\? is not nullable\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResponse\\:\\:getPretend\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:\\$width \\(int\\) on left side of \\?\\? is not nullable\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResponse\\:\\:misbehave\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(CodeIgniter\\\\Images\\\\Handlers\\\\ImageMagickHandler\\) of method CodeIgniter\\\\Images\\\\Handlers\\\\ImageMagickHandler\\:\\:_resize\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\)\\) of method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:_resize\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResult\\:\\:fetchAssoc\\(\\) should return mixed but return statement is missing\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', + 'path' => __DIR__ . '/system/Test/Mock/MockResult.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(bool\\|CodeIgniter\\\\Images\\\\Handlers\\\\ImageMagickHandler\\) of method CodeIgniter\\\\Images\\\\Handlers\\\\ImageMagickHandler\\:\\:_crop\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\)\\) of method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:_crop\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResult\\:\\:getFieldData\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', + 'path' => __DIR__ . '/system/Test/Mock/MockResult.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResult\\:\\:getFieldNames\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Images/Image.php', + 'path' => __DIR__ . '/system/Test/Mock/MockResult.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Log/Handlers/FileHandler.php', + 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockResult\\:\\:fetchAssoc\\(\\) should be covariant with return type \\(array\\|false\\|null\\) of method CodeIgniter\\\\Database\\\\BaseResult\\\\:\\:fetchAssoc\\(\\)$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockResult.php', ]; $ignoreErrors[] = [ - 'message' => '#^Strict comparison using \\=\\=\\= between true and true will always evaluate to true\\.$#', + 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockSecurityConfig\\:\\:\\$excludeURIs has no type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Log/Handlers/FileHandler.php', + 'path' => __DIR__ . '/system/Test/Mock/MockSecurityConfig.php', ]; $ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$level \\(string\\) of method CodeIgniter\\\\Log\\\\Logger\\:\\:log\\(\\) should be contravariant with parameter \\$level \\(mixed\\) of method Psr\\\\Log\\\\LoggerInterface\\:\\:log\\(\\)$#', + 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockServices\\:\\:\\$classmap has no type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Log/Logger.php', + 'path' => __DIR__ . '/system/Test/Mock/MockServices.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Model\\:\\:chunk\\(\\) has parameter \\$userFunc with no signature specified for Closure\\.$#', + 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockServices\\:\\:\\$psr4 has no type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Model.php', + 'path' => __DIR__ . '/system/Test/Mock/MockServices.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, array given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockSession\\:\\:regenerate\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Model.php', + 'path' => __DIR__ . '/system/Test/Mock/MockSession.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, string given on the right side\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Model.php', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockSession\\:\\:setCookie\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockSession.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, string\\|null given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockSession\\:\\:setSaveHandler\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Model.php', + 'path' => __DIR__ . '/system/Test/Mock/MockSession.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, array\\|int\\|string\\|null given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Model.php', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockSession\\:\\:startSession\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/Mock/MockSession.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(array\\|bool\\|float\\|int\\|object\\|string\\|null\\) of method CodeIgniter\\\\Model\\:\\:__call\\(\\) should be covariant with return type \\(\\$this\\(CodeIgniter\\\\BaseModel\\)\\|null\\) of method CodeIgniter\\\\BaseModel\\:\\:__call\\(\\)$#', + 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockSession\\:\\:\\$didRegenerate has no type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Model.php', + 'path' => __DIR__ . '/system/Test/Mock/MockSession.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset mixed directly on \\$_GET is discouraged\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockTable\\:\\:__call\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Pager/Pager.php', + 'path' => __DIR__ . '/system/Test/Mock/MockTable.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockTable\\:\\:__call\\(\\) has parameter \\$method with no type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Pager/Pager.php', + 'path' => __DIR__ . '/system/Test/Mock/MockTable.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, array given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockTable\\:\\:__call\\(\\) has parameter \\$params with no type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Pager/Pager.php', + 'path' => __DIR__ . '/system/Test/Mock/MockTable.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\PhpStreamWrapper\\:\\:register\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Pager/Pager.php', + 'path' => __DIR__ . '/system/Test/PhpStreamWrapper.php', ]; $ignoreErrors[] = [ - 'message' => '#^Argument \\#1 \\$name \\(class\\-string\\) passed to function model does not extend CodeIgniter\\\\\\\\Model\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\PhpStreamWrapper\\:\\:restore\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/RESTful/BaseResource.php', + 'path' => __DIR__ . '/system/Test/PhpStreamWrapper.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/RESTful/BaseResource.php', + 'message' => '#^Method CodeIgniter\\\\Test\\\\PhpStreamWrapper\\:\\:setContent\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/PhpStreamWrapper.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, object\\|string\\|null given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\PhpStreamWrapper\\:\\:stream_stat\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/RESTful/BaseResource.php', + 'path' => __DIR__ . '/system/Test/PhpStreamWrapper.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type CodeIgniter\\\\HTTP\\\\CLIRequest\\|CodeIgniter\\\\HTTP\\\\IncomingRequest of property CodeIgniter\\\\RESTful\\\\BaseResource\\:\\:\\$request is not the same as PHPDoc type CodeIgniter\\\\HTTP\\\\RequestInterface of overridden property CodeIgniter\\\\Controller\\:\\:\\$request\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:__call\\(\\) should return mixed but return statement is missing\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/RESTful/BaseResource.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertCookie\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/AutoRouter.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertCookieExpired\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/AutoRouter.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, Config\\\\Routing given on the right side\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertCookieMissing\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/AutoRouterImproved.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type int of property CodeIgniter\\\\Router\\\\Exceptions\\\\RedirectException\\:\\:\\$code is not the same as PHPDoc type mixed of overridden property Exception\\:\\:\\$code\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertDontSee\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/Exceptions/RedirectException.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 6, - 'path' => __DIR__ . '/system/Router/RouteCollection.php', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertDontSeeElement\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:environment\\(\\) has parameter \\$callback with no signature specified for Closure\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertHeader\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/RouteCollection.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:group\\(\\) has parameter \\$params with no signature specified for callable\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertHeaderMissing\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/RouteCollection.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertJSONExact\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/RouteCollection.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, array\\ given on the left side\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertJSONExact\\(\\) has parameter \\$test with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/RouteCollection.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, string given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertJSONFragment\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/RouteCollection.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertJSONFragment\\(\\) has parameter \\$fragment with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/RouteCollection.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertNotOK\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'REQUEST_METHOD\' directly on \\$_SERVER is discouraged\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertNotRedirect\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:getDefaultNamespace\\(\\)\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Router/Router.php', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertOK\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:getFilterForRoute\\(\\)\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertRedirect\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:getFiltersForRoute\\(\\)\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertRedirectTo\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:getRegisteredControllers\\(\\)\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertSee\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:getRoutesOptions\\(\\)\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertSeeElement\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:isFiltered\\(\\)\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertSeeInField\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:setHTTPVerb\\(\\)\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertSeeLink\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Router/Router.php', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertSessionHas\\(\\) has no return type specified\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Expression on left side of \\?\\? is not nullable\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertSessionMissing\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:get404Override\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertStatus\\(\\) has no return type specified\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', + 'path' => __DIR__ . '/system/Test/TestResponse.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:setMatchedRoute\\(\\) has parameter \\$handler with no signature specified for callable\\.$#', + 'message' => '#^Property CodeIgniter\\\\Throttle\\\\Throttler\\:\\:\\$testTime \\(int\\) on left side of \\?\\? is not nullable\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', + 'path' => __DIR__ . '/system/Throttle/Throttler.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forEmptySavepath\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Typography\\\\Typography\\:\\:protectCharacters\\(\\) has parameter \\$match with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', + 'path' => __DIR__ . '/system/Typography/Typography.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forInvalidSameSiteSetting\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\Typography\\\\Typography\\:\\:\\$innerBlockRequired type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', + 'path' => __DIR__ . '/system/Typography/Typography.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forInvalidSavePath\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\Validation\\\\CreditCardRules\\:\\:\\$cards type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', + 'path' => __DIR__ . '/system/Validation/CreditCardRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forInvalidSavePathFormat\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\DotArrayFilter\\:\\:filter\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', + 'path' => __DIR__ . '/system/Validation/DotArrayFilter.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forMissingDatabaseTable\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\DotArrayFilter\\:\\:filter\\(\\) has parameter \\$indexes with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', + 'path' => __DIR__ . '/system/Validation/DotArrayFilter.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forWriteProtectedSavePath\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\DotArrayFilter\\:\\:filter\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', + 'path' => __DIR__ . '/system/Validation/DotArrayFilter.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Session\\\\Handlers\\\\ArrayHandler\\:\\:\\$cache has no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\DotArrayFilter\\:\\:run\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/ArrayHandler.php', + 'path' => __DIR__ . '/system/Validation/DotArrayFilter.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\Database\\\\PostgreHandler\\:\\:setSelect\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\DotArrayFilter\\:\\:run\\(\\) has parameter \\$indexes with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/Database/PostgreHandler.php', + 'path' => __DIR__ . '/system/Validation/DotArrayFilter.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, mixed given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Session/Handlers/Database/PostgreHandler.php', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\DotArrayFilter\\:\\:run\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Validation/DotArrayFilter.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Session/Handlers/DatabaseHandler.php', + 'message' => '#^Only booleans are allowed in a negated boolean, array\\|null given\\.$#', + 'count' => 6, + 'path' => __DIR__ . '/system/Validation/FileRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\DatabaseHandler\\:\\:setSelect\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Rules\\:\\:differs\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/DatabaseHandler.php', + 'path' => __DIR__ . '/system/Validation/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Rules\\:\\:is_not_unique\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/FileHandler.php', + 'path' => __DIR__ . '/system/Validation/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\FileHandler\\:\\:configureSessionIDRegex\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Rules\\:\\:is_unique\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/FileHandler.php', + 'path' => __DIR__ . '/system/Validation/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, string given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Rules\\:\\:matches\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/FileHandler.php', + 'path' => __DIR__ . '/system/Validation/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Session\\\\Handlers\\\\FileHandler\\:\\:\\$savePath is not the same as PHPDoc type array\\|string of overridden property CodeIgniter\\\\Session\\\\Handlers\\\\BaseHandler\\:\\:\\$savePath\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Rules\\:\\:required\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/FileHandler.php', + 'path' => __DIR__ . '/system/Validation/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Variable \\$written might not be defined\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Rules\\:\\:required_with\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/FileHandler.php', + 'path' => __DIR__ . '/system/Validation/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Rules\\:\\:required_without\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/MemcachedHandler.php', + 'path' => __DIR__ . '/system/Validation/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, mixed given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\CreditCardRules\\:\\:valid_cc_number\\(\\) has parameter \\$ccNumber with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/MemcachedHandler.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/Session/Handlers/RedisHandler.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/CreditCardRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in &&, string given on the right side\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:alpha\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/RedisHandler.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Accessing offset \'HTTP_X_REQUESTED_WITH\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Session/Session.php', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:alpha_dash\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:configure\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:alpha_numeric\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:configureSidLength\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:alpha_numeric_punct\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:destroy\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:alpha_numeric_space\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:initVars\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:alpha_space\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:keepFlashdata\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:decimal\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:push\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:hex\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:regenerate\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:integer\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:remove\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:is_natural\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:removeTempdata\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:is_natural_no_zero\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:set\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:numeric\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setCookie\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:regex_match\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setFlashdata\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:string\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setSaveHandler\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:timezone\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setTempdata\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:valid_base64\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:startSession\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:valid_date\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:stop\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:valid_email\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:unmarkFlashdata\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:valid_emails\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:unmarkTempdata\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:valid_ip\\(\\) has parameter \\$ip with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(bool\\) of method CodeIgniter\\\\Session\\\\Session\\:\\:markAsFlashdata\\(\\) should be covariant with return type \\(false\\) of method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:markAsFlashdata\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:valid_json\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:valid_url\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:destroy\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:valid_url_strict\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:keepFlashdata\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:differs\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:regenerate\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:differs\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:remove\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:equals\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:removeTempdata\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:exact_length\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:set\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:greater_than\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:setFlashdata\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:greater_than_equal_to\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:setTempdata\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:in_list\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:unmarkFlashdata\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:is_not_unique\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:unmarkTempdata\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:is_not_unique\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:clearInsertCache\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:is_unique\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:dontSeeInDatabase\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:is_unique\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:loadDependencies\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:less_than\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:migrateDatabase\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:less_than_equal_to\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:regressDatabase\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:matches\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:resetMigrationSeedCount\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:matches\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:runSeeds\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:max_length\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:seeInDatabase\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:min_length\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:seeNumRecords\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:not_equals\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:seed\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:not_in_list\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:setUpDatabase\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:required\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:setUpMigrate\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:required_with\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:setUpSeed\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:required_with\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIDatabaseTestCase\\:\\:tearDownDatabase\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:required_without\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIDatabaseTestCase.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:assertCloseEnough\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:required_without\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', + 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:getPrivateMethodInvoker\\(\\) return type has no signature specified for Closure\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:check\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:mockCache\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:check\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:mockEmail\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:fillPlaceholders\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:mockSession\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:fillPlaceholders\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:resetFactories\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:fillPlaceholders\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:resetServices\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:getRules\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:setPrivateProperty\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:getValidated\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, CodeIgniter\\\\CodeIgniter given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:isClosure\\(\\) has parameter \\$rule with no signature specified for Closure\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:isStringList\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to function is_array\\(\\) with non\\-empty\\-array will always evaluate to true\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:loadRuleGroup\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/DOMParser.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Fabricator\\:\\:resetCounts\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processIfExist\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Fabricator.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$name of function model expects a valid class string, string given\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processIfExist\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Fabricator.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Assigning \'test\' directly on offset \'HTTPS\' of \\$_SERVER is discouraged\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processIfExist\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Assigning string directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processPermitEmpty\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:clearInsertCache\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processPermitEmpty\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:dontSeeInDatabase\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processPermitEmpty\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:loadDependencies\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processPermitEmpty\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:migrateDatabase\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processRules\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:regressDatabase\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processRules\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:resetMigrationSeedCount\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processRules\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:runSeeds\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:retrievePlaceholders\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:seeInDatabase\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:retrievePlaceholders\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:seeNumRecords\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:run\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:seed\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:setRule\\(\\) has parameter \\$errors with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:setUpDatabase\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:setRule\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:setUpMigrate\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:setRules\\(\\) has parameter \\$errors with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:setUpSeed\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:setRules\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestCase\\:\\:tearDownDatabase\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:splitRules\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, CodeIgniter\\\\Router\\\\RouteCollection\\|null given\\.$#', + 'message' => '#^Property CodeIgniter\\\\Validation\\\\Validation\\:\\:\\$customErrors type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$bodyFormat \\(string\\) in isset\\(\\) is not nullable\\.$#', + 'message' => '#^Property CodeIgniter\\\\Validation\\\\Validation\\:\\:\\$data type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$clean \\(bool\\) in isset\\(\\) is not nullable\\.$#', + 'message' => '#^Property CodeIgniter\\\\Validation\\\\Validation\\:\\:\\$errors type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$session \\(array\\) on left side of \\?\\? is not nullable\\.$#', + 'message' => '#^Property CodeIgniter\\\\Validation\\\\Validation\\:\\:\\$ruleSetFiles type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/FeatureTestCase.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockCLIConfig\\:\\:\\$CSRFExcludeURIs has no type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\Validation\\\\Validation\\:\\:\\$ruleSetInstances type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCLIConfig.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:getBaseURI\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\Validation\\\\Validation\\:\\:\\$rules type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:getDelay\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\Validation\\\\Validation\\:\\:\\$validated type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:setOutput\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', + 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', + 'count' => 2, + 'path' => __DIR__ . '/system/Validation/Validation.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:setOutput\\(\\) has parameter \\$output with no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:check\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', + 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:\\$curl_options has no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:check\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', + 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:\\$output has no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:getRules\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', + 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Test/Mock/MockCache.php', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:getValidated\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Cannot access property \\$insert_id on object\\|resource\\|false\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:loadRuleGroup\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', + 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:_close\\(\\) should return mixed but return statement is missing\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:run\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', + 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:shouldReturn\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:setRule\\(\\) has parameter \\$errors with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', + 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:shouldReturn\\(\\) has parameter \\$return with no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:setRule\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', + 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:\\$returnValues has no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:setRules\\(\\) has parameter \\$messages with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', + 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(array\\{code\\: int\\|string\\|null, message\\: string\\|null\\}\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:error\\(\\) should be covariant with return type \\(array\\\\) of method CodeIgniter\\\\Database\\\\ConnectionInterface\\\\:\\:error\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:setRules\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', + 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(bool\\|CodeIgniter\\\\Database\\\\BaseResult\\|CodeIgniter\\\\Database\\\\Query\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:query\\(\\) should be covariant with return type \\(bool\\|CodeIgniter\\\\Database\\\\BaseResult\\\\|CodeIgniter\\\\Database\\\\Query\\) of method CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:query\\(\\)$#', + 'message' => '#^Call to an undefined static method CodeIgniter\\\\Config\\\\Factories\\:\\:cells\\(\\)\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', + 'path' => __DIR__ . '/system/View/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(bool\\|CodeIgniter\\\\Database\\\\BaseResult\\|CodeIgniter\\\\Database\\\\Query\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:query\\(\\) should be covariant with return type \\(bool\\|CodeIgniter\\\\Database\\\\BaseResult\\\\|CodeIgniter\\\\Database\\\\Query\\) of method CodeIgniter\\\\Database\\\\ConnectionInterface\\\\:\\:query\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Cell\\:\\:determineClass\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', + 'path' => __DIR__ . '/system/View/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(bool\\|object\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:execute\\(\\) should be covariant with return type \\(object\\|resource\\|false\\) of method CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:execute\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Cell\\:\\:getMethodParams\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', + 'path' => __DIR__ . '/system/View/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:connect\\(\\) should be covariant with return type \\(object\\|resource\\|false\\) of method CodeIgniter\\\\Database\\\\ConnectionInterface\\\\:\\:connect\\(\\)$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', + 'message' => '#^Method CodeIgniter\\\\View\\\\Cell\\:\\:getMethodParams\\(\\) return type has no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/View/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:setDatabase\\(\\) should be covariant with return type \\(bool\\) of method CodeIgniter\\\\Database\\\\ConnectionInterface\\\\:\\:setDatabase\\(\\)$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', + 'message' => '#^Method CodeIgniter\\\\View\\\\Cell\\:\\:prepareParams\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/View/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockEvents\\:\\:getEventsFile\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Cell\\:\\:prepareParams\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockEvents.php', + 'path' => __DIR__ . '/system/View/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockEvents\\:\\:getListeners\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Cell\\:\\:render\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockEvents.php', + 'path' => __DIR__ . '/system/View/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockEvents\\:\\:getSimulate\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Cell\\:\\:renderCell\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockEvents.php', + 'path' => __DIR__ . '/system/View/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockEvents\\:\\:unInitialize\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Cell\\:\\:renderSimpleClass\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockEvents.php', + 'path' => __DIR__ . '/system/View/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockFileLogger\\:\\:\\$destination has no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Cells\\\\Cell\\:\\:fill\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockFileLogger.php', + 'path' => __DIR__ . '/system/View/Cells/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockLanguage\\:\\:disableIntlSupport\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Cells\\\\Cell\\:\\:getNonPublicProperties\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockLanguage.php', + 'path' => __DIR__ . '/system/View/Cells/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockLogger\\:\\:\\$dateFormat has no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Cells\\\\Cell\\:\\:getPublicProperties\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockLogger.php', + 'path' => __DIR__ . '/system/View/Cells/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockLogger\\:\\:\\$handlers has no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Cells\\\\Cell\\:\\:includeComputedProperties\\(\\) has parameter \\$properties with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockLogger.php', + 'path' => __DIR__ . '/system/View/Cells/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockLogger\\:\\:\\$threshold has no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Cells\\\\Cell\\:\\:includeComputedProperties\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockLogger.php', + 'path' => __DIR__ . '/system/View/Cells/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourceController\\:\\:getFormat\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Cells\\\\Cell\\:\\:view\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResourceController.php', + 'path' => __DIR__ . '/system/View/Cells/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourceController\\:\\:getModel\\(\\) has no return type specified\\.$#', + 'message' => '#^Method class@anonymous/system/Traits/PropertiesTrait\\.php\\:47\\:\\:getProperties\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResourceController.php', + 'path' => __DIR__ . '/system/View/Cells/Cell.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourceController\\:\\:getModelName\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Filters\\:\\:default\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResourceController.php', + 'path' => __DIR__ . '/system/View/Filters.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:getFormat\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:addPlugin\\(\\) has parameter \\$callback with no signature specified for callable\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:getModel\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:applyFilters\\(\\) has parameter \\$filters with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:getModelName\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:objectToArray\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResponse\\:\\:getPretend\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:objectToArray\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResponse.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResponse\\:\\:misbehave\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:parse\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResponse.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResult\\:\\:fetchAssoc\\(\\) should return mixed but return statement is missing\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:parse\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResult.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Return type \\(mixed\\) of method CodeIgniter\\\\Test\\\\Mock\\\\MockResult\\:\\:fetchAssoc\\(\\) should be covariant with return type \\(array\\|false\\|null\\) of method CodeIgniter\\\\Database\\\\BaseResult\\\\:\\:fetchAssoc\\(\\)$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:parsePair\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResult.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockSecurityConfig\\:\\:\\$excludeURIs has no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:parsePair\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockSecurityConfig.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockServices\\:\\:\\$classmap has no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:parseSingle\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockServices.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockServices\\:\\:\\$psr4 has no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:prepareReplacement\\(\\) has parameter \\$matches with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockServices.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockSession\\:\\:regenerate\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:render\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockSession.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockSession\\:\\:setCookie\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:renderString\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockSession.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockSession\\:\\:setSaveHandler\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:replaceSingle\\(\\) has parameter \\$pattern with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockSession.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockSession\\:\\:startSession\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:setData\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockSession.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockSession\\:\\:\\$didRegenerate has no type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\View\\\\Parser\\:\\:\\$dataContexts type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockSession.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockTable\\:\\:__call\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\View\\\\Parser\\:\\:\\$noparseBlocks type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockTable.php', + 'path' => __DIR__ . '/system/View/Parser.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockTable\\:\\:__call\\(\\) has parameter \\$method with no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Plugins\\:\\:ValidationErrors\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockTable.php', + 'path' => __DIR__ . '/system/View/Plugins.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockTable\\:\\:__call\\(\\) has parameter \\$params with no type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Plugins\\:\\:lang\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockTable.php', + 'path' => __DIR__ . '/system/View/Plugins.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\PhpStreamWrapper\\:\\:register\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Plugins\\:\\:mailto\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/PhpStreamWrapper.php', + 'path' => __DIR__ . '/system/View/Plugins.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\PhpStreamWrapper\\:\\:restore\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Plugins\\:\\:route\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/PhpStreamWrapper.php', + 'path' => __DIR__ . '/system/View/Plugins.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\PhpStreamWrapper\\:\\:setContent\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Plugins\\:\\:safeMailto\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/PhpStreamWrapper.php', + 'path' => __DIR__ . '/system/View/Plugins.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:__call\\(\\) should return mixed but return statement is missing\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Plugins\\:\\:siteURL\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Plugins.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertCookie\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\RendererInterface\\:\\:render\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/RendererInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertCookieExpired\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\RendererInterface\\:\\:renderString\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/RendererInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertCookieMissing\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\RendererInterface\\:\\:setData\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/RendererInterface.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertDontSee\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Table\\:\\:__construct\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertDontSeeElement\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Table\\:\\:_defaultTemplate\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertHeader\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Table\\:\\:_prepArgs\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertHeaderMissing\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Table\\:\\:_prepArgs\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertJSONExact\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Table\\:\\:_setFromArray\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertJSONFragment\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Table\\:\\:generate\\(\\) has parameter \\$tableData with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertNotOK\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Table\\:\\:makeColumns\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertNotRedirect\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Table\\:\\:makeColumns\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertOK\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\Table\\:\\:setTemplate\\(\\) has parameter \\$template with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertRedirect\\(\\) has no return type specified\\.$#', + 'message' => '#^Only booleans are allowed in a ternary operator condition, float given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertRedirectTo\\(\\) has no return type specified\\.$#', + 'message' => '#^Only booleans are allowed in an if condition, string\\|null given\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertSee\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\View\\\\Table\\:\\:\\$footing type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertSeeElement\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\View\\\\Table\\:\\:\\$function type has no signature specified for callable\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertSeeInField\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\View\\\\Table\\:\\:\\$heading type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertSeeLink\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\View\\\\Table\\:\\:\\$rows type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertSessionHas\\(\\) has no return type specified\\.$#', + 'message' => '#^Property CodeIgniter\\\\View\\\\Table\\:\\:\\$template type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/Table.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertSessionMissing\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\View\\:\\:getData\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/View.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertStatus\\(\\) has no return type specified\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\View\\:\\:getPerformanceData\\(\\) return type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', + 'path' => __DIR__ . '/system/View/View.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\Throttle\\\\Throttler\\:\\:\\$testTime \\(int\\) on left side of \\?\\? is not nullable\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\View\\:\\:include\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Throttle/Throttler.php', + 'path' => __DIR__ . '/system/View/View.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a negated boolean, array\\|null given\\.$#', - 'count' => 6, - 'path' => __DIR__ . '/system/Validation/FileRules.php', + 'message' => '#^Method CodeIgniter\\\\View\\\\View\\:\\:render\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/View/View.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:isClosure\\(\\) has parameter \\$rule with no signature specified for Closure\\.$#', + 'message' => '#^Method CodeIgniter\\\\View\\\\View\\:\\:renderString\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', + 'path' => __DIR__ . '/system/View/View.php', ]; $ignoreErrors[] = [ - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Validation/Validation.php', + 'message' => '#^Method CodeIgniter\\\\View\\\\View\\:\\:setData\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', + 'count' => 1, + 'path' => __DIR__ . '/system/View/View.php', ]; $ignoreErrors[] = [ - 'message' => '#^Call to an undefined static method CodeIgniter\\\\Config\\\\Factories\\:\\:cells\\(\\)\\.$#', + 'message' => '#^Property CodeIgniter\\\\View\\\\View\\:\\:\\$data type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/View/Cell.php', + 'path' => __DIR__ . '/system/View/View.php', ]; $ignoreErrors[] = [ - 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:addPlugin\\(\\) has parameter \\$callback with no signature specified for callable\\.$#', + 'message' => '#^Property CodeIgniter\\\\View\\\\View\\:\\:\\$performanceData type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/View/Parser.php', + 'path' => __DIR__ . '/system/View/View.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in a ternary operator condition, float given\\.$#', + 'message' => '#^Property CodeIgniter\\\\View\\\\View\\:\\:\\$renderVars type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/View/Table.php', + 'path' => __DIR__ . '/system/View/View.php', ]; $ignoreErrors[] = [ - 'message' => '#^Only booleans are allowed in an if condition, string\\|null given\\.$#', + 'message' => '#^Property CodeIgniter\\\\View\\\\View\\:\\:\\$sections type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/View/Table.php', + 'path' => __DIR__ . '/system/View/View.php', ]; $ignoreErrors[] = [ - 'message' => '#^Property CodeIgniter\\\\View\\\\Table\\:\\:\\$function type has no signature specified for callable\\.$#', + 'message' => '#^Property CodeIgniter\\\\View\\\\View\\:\\:\\$tempData type has no value type specified in iterable type array\\.$#', 'count' => 1, - 'path' => __DIR__ . '/system/View/Table.php', + 'path' => __DIR__ . '/system/View/View.php', ]; $ignoreErrors[] = [ 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', diff --git a/phpstan.neon.dist b/phpstan.neon.dist index 4041710fb703..b6dbf31c3874 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -28,7 +28,6 @@ parameters: - system/Validation/Views/single.php scanDirectories: - system/Helpers - checkMissingIterableValueType: false checkGenericClassInNonGenericObjectType: false checkMissingCallableSignature: true treatPhpDocTypesAsCertain: false From c1518a278a3626ba2f2fcb28c5180ca7ff7f9b54 Mon Sep 17 00:00:00 2001 From: kenjis Date: Mon, 18 Mar 2024 19:02:03 +0900 Subject: [PATCH 067/139] docs: move content in table to section below --- .../source/database/configuration.rst | 34 ++++++++++++------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/user_guide_src/source/database/configuration.rst b/user_guide_src/source/database/configuration.rst index 2239c65799e2..24ba92eaeb05 100644 --- a/user_guide_src/source/database/configuration.rst +++ b/user_guide_src/source/database/configuration.rst @@ -136,9 +136,9 @@ and decode it in the constructor in the Config class: .. _database-config-explanation-of-values: -********************** -Explanation of Values: -********************** +********************* +Explanation of Values +********************* ================ =========================================================================================================== Name Config Description @@ -164,15 +164,9 @@ Explanation of Values: applications where you might run manually written queries, and need the prefix to still be customizable by the end user. **schema** The database schema, default value varies by driver. (Used by ``Postgre`` and ``SQLSRV``.) -**encrypt** Whether or not to use an encrypted connection. - ``SQLSRV`` driver accepts true/false - ``MySQLi`` driver accepts an array with the following options: - * ``ssl_key`` - Path to the private key file - * ``ssl_cert`` - Path to the public key certificate file - * ``ssl_ca`` - Path to the certificate authority file - * ``ssl_capath`` - Path to a directory containing trusted CA certificates in PEM format - * ``ssl_cipher`` - List of *allowed* ciphers to be used for the encryption, separated by colons (``:``) - * ``ssl_verify`` - true/false; Whether to verify the server certificate or not (``MySQLi`` only) +**encrypt** Whether or not to use an encrypted connection. (``MySQLi`` and ``SQLSRV`` only). + ``SQLSRV`` driver accepts true/false. + See :ref:`MySQLi encrypt ` for ``MySQLi`` settings. **compress** Whether or not to use client compression (``MySQLi`` only). **strictOn** true/false (boolean) - Whether to force "Strict Mode" connections, good for ensuring strict SQL while developing an application (``MySQLi`` only). @@ -205,4 +199,18 @@ the ``'hostname'`` setting. CodeIgniter's MySQLi driver will notice this and con connection properly. .. literalinclude:: configuration/011.php - :lines: 11-18 \ No newline at end of file + :lines: 11-18 + +.. _mysqli-encrypt: + +encrypt +------- + +MySQLi driver accepts an array with the following options: + +* ``ssl_key`` - Path to the private key file +* ``ssl_cert`` - Path to the public key certificate file +* ``ssl_ca`` - Path to the certificate authority file +* ``ssl_capath`` - Path to a directory containing trusted CA certificates in PEM format +* ``ssl_cipher`` - List of *allowed* ciphers to be used for the encryption, separated by colons (``:``) +* ``ssl_verify`` - true/false; Whether to verify the server certificate or not From 1009b8f33c51e2d73c150f3436b7408d266f7f9a Mon Sep 17 00:00:00 2001 From: kenjis Date: Mon, 18 Mar 2024 19:05:16 +0900 Subject: [PATCH 068/139] docs: list available drivers first --- .../source/database/configuration.rst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/user_guide_src/source/database/configuration.rst b/user_guide_src/source/database/configuration.rst index 24ba92eaeb05..48ad3853742a 100644 --- a/user_guide_src/source/database/configuration.rst +++ b/user_guide_src/source/database/configuration.rst @@ -159,25 +159,25 @@ Explanation of Values **pConnect** true/false (boolean) - Whether to use a persistent connection. **DBDebug** true/false (boolean) - Whether to throw exceptions or not when database errors occur. **charset** The character set used in communicating with the database. -**DBCollat** The character collation used in communicating with the database (``MySQLi`` only). +**DBCollat** (``MySQLi`` only) The character collation used in communicating with the database. **swapPre** A default table prefix that should be swapped with ``DBPrefix``. This is useful for distributed applications where you might run manually written queries, and need the prefix to still be customizable by the end user. -**schema** The database schema, default value varies by driver. (Used by ``Postgre`` and ``SQLSRV``.) -**encrypt** Whether or not to use an encrypted connection. (``MySQLi`` and ``SQLSRV`` only). +**schema** (``Postgre`` and ``SQLSRV`` only) The database schema, default value varies by driver. +**encrypt** (``MySQLi`` and ``SQLSRV`` only) Whether or not to use an encrypted connection. ``SQLSRV`` driver accepts true/false. See :ref:`MySQLi encrypt ` for ``MySQLi`` settings. -**compress** Whether or not to use client compression (``MySQLi`` only). -**strictOn** true/false (boolean) - Whether to force "Strict Mode" connections, good for ensuring strict SQL - while developing an application (``MySQLi`` only). +**compress** (``MySQLi`` only) Whether or not to use client compression. +**strictOn** (``MySQLi`` only) true/false (boolean) - Whether to force "Strict Mode" connections, good for ensuring + strict SQL while developing an application. **port** The database port number - Empty string ``''`` for default port (or dynamic port with ``SQLSRV``). -**foreignKeys** true/false (boolean) - Whether or not to enable Foreign Key constraint (``SQLite3`` only). +**foreignKeys** (``SQLite3`` only) true/false (boolean) - Whether or not to enable Foreign Key constraint. .. important:: SQLite3 Foreign Key constraint is disabled by default. See `SQLite documentation `_. To enforce Foreign Key constraint, set this config item to true. -**busyTimeout** milliseconds (int) - Sleeps for a specified amount of time when a table is locked (``SQLite3`` only). -**numberNative** true/false (boolean) - Whether or not to enable MYSQLI_OPT_INT_AND_FLOAT_NATIVE (``MySQLi`` only). +**busyTimeout** (``SQLite3`` only) milliseconds (int) - Sleeps for a specified amount of time when a table is locked. +**numberNative** (``MySQLi`` only) true/false (boolean) - Whether or not to enable MYSQLI_OPT_INT_AND_FLOAT_NATIVE. ================ =========================================================================================================== .. note:: Depending on what database driver you are using (``MySQLi``, ``Postgre``, From 6931822bbcc3e1fd75bb01bb5064f360957f477f Mon Sep 17 00:00:00 2001 From: kenjis Date: Mon, 18 Mar 2024 19:07:15 +0900 Subject: [PATCH 069/139] docs: move MySQLi description up --- user_guide_src/source/database/configuration.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user_guide_src/source/database/configuration.rst b/user_guide_src/source/database/configuration.rst index 48ad3853742a..a0ef5c8cd1d8 100644 --- a/user_guide_src/source/database/configuration.rst +++ b/user_guide_src/source/database/configuration.rst @@ -165,8 +165,8 @@ Explanation of Values customizable by the end user. **schema** (``Postgre`` and ``SQLSRV`` only) The database schema, default value varies by driver. **encrypt** (``MySQLi`` and ``SQLSRV`` only) Whether or not to use an encrypted connection. - ``SQLSRV`` driver accepts true/false. See :ref:`MySQLi encrypt ` for ``MySQLi`` settings. + ``SQLSRV`` driver accepts true/false. **compress** (``MySQLi`` only) Whether or not to use client compression. **strictOn** (``MySQLi`` only) true/false (boolean) - Whether to force "Strict Mode" connections, good for ensuring strict SQL while developing an application. From d7d1fdea27b40431dd477bcabb2b0366d1ad2fdf Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean <97607754+ddevsr@users.noreply.github.com> Date: Tue, 19 Mar 2024 16:34:17 +0700 Subject: [PATCH 070/139] chore: update workflow.md Added signing old commit to only commit in PR --- contributing/workflow.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/contributing/workflow.md b/contributing/workflow.md index da1f53d4743c..6bbd6a6dbeaa 100644 --- a/contributing/workflow.md +++ b/contributing/workflow.md @@ -199,6 +199,16 @@ Latest commit only: > git push --force-with-lease origin your-branch ``` +Only commits in PR: +```console +> git switch your-branch +> git rebase -i HEAD~3 --exec 'git commit --amend --no-edit --no-verify -S' +> git push --force-with-lease origin your-branch +``` + +> [!NOTE] +> `HEAD~3` is defined have 3 commit in PR, change number *3* with the number you have in commit. + All commits: ```console > git switch your-branch From 5ebe2b7eeb0efc4eb9f58748450608dec8ffb9c6 Mon Sep 17 00:00:00 2001 From: kenjis Date: Wed, 20 Mar 2024 09:22:31 +0900 Subject: [PATCH 071/139] refactor: improve Validation error message for placeholder --- system/Validation/Validation.php | 4 ++- .../StrictRules/DatabaseRelatedRulesTest.php | 29 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/system/Validation/Validation.php b/system/Validation/Validation.php index af7cae093bb9..491bccf0599e 100644 --- a/system/Validation/Validation.php +++ b/system/Validation/Validation.php @@ -790,7 +790,9 @@ protected function fillPlaceholders(array $rules, array $data): array // Check if the validation rule for the placeholder exists if ($placeholderRules === null) { throw new LogicException( - 'No validation rules for the placeholder: ' . $field + 'No validation rules for the placeholder: "' . $field + . '". You must set the validation rules for the field.' + . ' See .' ); } diff --git a/tests/system/Validation/StrictRules/DatabaseRelatedRulesTest.php b/tests/system/Validation/StrictRules/DatabaseRelatedRulesTest.php index 5083bec69fe8..7cf1e8f78deb 100644 --- a/tests/system/Validation/StrictRules/DatabaseRelatedRulesTest.php +++ b/tests/system/Validation/StrictRules/DatabaseRelatedRulesTest.php @@ -17,6 +17,7 @@ use Config\Database; use Config\Services; use InvalidArgumentException; +use LogicException; use Tests\Support\Validation\TestRules; /** @@ -139,6 +140,34 @@ public function testIsUniqueWithIgnoreValuePlaceholder(): void $this->assertTrue($this->validation->run($data)); } + public function testIsUniqueWithPlaceholderAndNoValidationRulesForIt(): void + { + $this->expectException(LogicException::class); + $this->expectExceptionMessage('No validation rules for the placeholder: "id". You must set the validation rules for the field.'); + + $this->hasInDatabase('user', [ + 'name' => 'Derek', + 'email' => 'derek@world.co.uk', + 'country' => 'GB', + ]); + + $row = Database::connect() + ->table('user') + ->limit(1) + ->get() + ->getRow(); + + $data = [ + 'id' => $row->id, + 'email' => 'derek@world.co.uk', + ]; + + $this->validation->setRules([ + 'email' => 'is_unique[user.email,id,{id}]', + ]); + $this->validation->run($data); + } + public function testIsUniqueByManualRun(): void { Database::connect() From 56990e6bf5c28b0d69fddd11a64dad928f20ab77 Mon Sep 17 00:00:00 2001 From: kenjis Date: Wed, 20 Mar 2024 09:23:09 +0900 Subject: [PATCH 072/139] docs: improve note for Validation placeholder --- user_guide_src/source/libraries/validation.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/user_guide_src/source/libraries/validation.rst b/user_guide_src/source/libraries/validation.rst index c7c8449562a5..f99f5879256f 100644 --- a/user_guide_src/source/libraries/validation.rst +++ b/user_guide_src/source/libraries/validation.rst @@ -517,15 +517,18 @@ Validation Placeholders ======================= The Validation class provides a simple method to replace parts of your rules based on data that's being passed into it. This -sounds fairly obscure but can be especially handy with the ``is_unique`` validation rule. Placeholders are simply +sounds fairly obscure but can be especially handy with the ``is_unique`` validation rule. + +Placeholders are simply the name of the field (or array key) that was passed in as ``$data`` surrounded by curly brackets. It will be replaced by the **value** of the matched incoming field. An example should clarify this: .. literalinclude:: validation/020.php :lines: 2- -.. note:: Since v4.3.5, you must set the validation rules for the placeholder - field (the ``id`` field in the sample code above) for security. +.. warning:: Since v4.3.5, you must set the validation rules for the placeholder + field (the ``id`` field in the sample code above) for security reasons. Because + attackers can send any data to your application. In this set of rules, it states that the email address should be unique in the database, except for the row that has an id matching the placeholder's value. Assuming that the form POST data had the following: From c9a1bfec7aac1a8c38fc9710eb50728ee3ea93ce Mon Sep 17 00:00:00 2001 From: Cleric-K Date: Mon, 18 Mar 2024 11:26:02 +0200 Subject: [PATCH 073/139] esc() for 'raw' context (Fixes #8624) --- system/Common.php | 18 +++++++++--------- tests/system/CommonFunctionsTest.php | 21 +++++++++++++++++++++ 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/system/Common.php b/system/Common.php index 093943effb47..2ad287fb26ea 100644 --- a/system/Common.php +++ b/system/Common.php @@ -426,6 +426,15 @@ function env(string $key, $default = null) */ function esc($data, string $context = 'html', ?string $encoding = null) { + $context = strtolower($context); + + // Provide a way to NOT escape data since + // this could be called automatically by + // the View library. + if ($context === 'raw') { + return $data; + } + if (is_array($data)) { foreach ($data as &$value) { $value = esc($value, $context); @@ -433,15 +442,6 @@ function esc($data, string $context = 'html', ?string $encoding = null) } if (is_string($data)) { - $context = strtolower($context); - - // Provide a way to NOT escape data since - // this could be called automatically by - // the View library. - if ($context === 'raw') { - return $data; - } - if (! in_array($context, ['html', 'js', 'css', 'url', 'attr'], true)) { throw new InvalidArgumentException('Invalid escape context provided.'); } diff --git a/tests/system/CommonFunctionsTest.php b/tests/system/CommonFunctionsTest.php index a097cb2a81a0..89da3e89c4ad 100644 --- a/tests/system/CommonFunctionsTest.php +++ b/tests/system/CommonFunctionsTest.php @@ -247,6 +247,27 @@ public function testEscapeBadContextZero(): void esc('