diff --git a/.github/workflows/deploy-distributables.yml b/.github/workflows/deploy-distributables.yml index f28a62544fa5..7c0b4e4dd1ce 100644 --- a/.github/workflows/deploy-distributables.yml +++ b/.github/workflows/deploy-distributables.yml @@ -159,11 +159,15 @@ jobs: token: ${{ secrets.ACCESS_TOKEN }} path: userguide + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: '3.12' + - name: Install Sphinx run: | - sudo apt install python3-sphinx - sudo pip3 install sphinxcontrib-phpdomain - sudo pip3 install sphinx_rtd_theme + python -m pip install --upgrade pip + pip install -r ./source/user_guide_src/requirements.txt - name: Chmod run: chmod +x ./source/.github/scripts/deploy-userguide diff --git a/.github/workflows/deploy-userguide-latest.yml b/.github/workflows/deploy-userguide-latest.yml index c131c80cd735..9188672f907a 100644 --- a/.github/workflows/deploy-userguide-latest.yml +++ b/.github/workflows/deploy-userguide-latest.yml @@ -33,11 +33,20 @@ jobs: php-version: '8.1' coverage: none - # Build the latest User Guide - - name: Build with Sphinx - uses: ammaraskar/sphinx-action@0.4 + - name: Setup Python + uses: actions/setup-python@v5 with: - docs-folder: user_guide_src/ + python-version: '3.12' + + - name: Install Sphinx + run: | + python -m pip install --upgrade pip + pip install -r user_guide_src/requirements.txt + + # Build the latest User Guide + - name: Build Docs with Sphinx + run: make html + working-directory: user_guide_src - name: Add "Edit this page" links run: | diff --git a/.github/workflows/reusable-coveralls.yml b/.github/workflows/reusable-coveralls.yml index af1fd2f5b6c1..b3fcd09484fc 100644 --- a/.github/workflows/reusable-coveralls.yml +++ b/.github/workflows/reusable-coveralls.yml @@ -13,6 +13,12 @@ jobs: runs-on: ubuntu-22.04 steps: + - name: Checkout base branch for PR + if: github.event_name == 'pull_request' + uses: actions/checkout@v4 + with: + ref: ${{ github.base_ref }} + - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/reusable-phpunit-test.yml b/.github/workflows/reusable-phpunit-test.yml index 84ade1d08862..cf23be58f2bc 100644 --- a/.github/workflows/reusable-phpunit-test.yml +++ b/.github/workflows/reusable-phpunit-test.yml @@ -138,7 +138,7 @@ jobs: steps: - name: Create database for MSSQL Server if: ${{ inputs.db-platform == 'SQLSRV' }} - run: sqlcmd -S 127.0.0.1 -U sa -P 1Secure*Password1 -Q "CREATE DATABASE test" + run: sqlcmd -S 127.0.0.1 -U sa -P 1Secure*Password1 -Q "CREATE DATABASE test COLLATE Latin1_General_100_CS_AS_SC_UTF8" - name: Install latest ImageMagick if: ${{ contains(inputs.extra-extensions, 'imagick') }} @@ -148,6 +148,12 @@ jobs: sudo apt-get install -y gsfonts libmagickwand-dev imagemagick sudo apt-get install --fix-broken + - name: Checkout base branch for PR + if: github.event_name == 'pull_request' + uses: actions/checkout@v4 + with: + ref: ${{ github.base_ref }} + - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/reusable-serviceless-phpunit-test.yml b/.github/workflows/reusable-serviceless-phpunit-test.yml index 8a9f00c5e2e6..25080164320b 100644 --- a/.github/workflows/reusable-serviceless-phpunit-test.yml +++ b/.github/workflows/reusable-serviceless-phpunit-test.yml @@ -60,6 +60,12 @@ jobs: sudo apt-get install -y imagemagick sudo apt-get install --fix-broken + - name: Checkout base branch for PR + if: github.event_name == 'pull_request' + uses: actions/checkout@v4 + with: + ref: ${{ github.base_ref }} + - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/test-autoreview.yml b/.github/workflows/test-autoreview.yml index 69545ca6af01..10424ff0d4c5 100644 --- a/.github/workflows/test-autoreview.yml +++ b/.github/workflows/test-autoreview.yml @@ -35,6 +35,12 @@ jobs: name: Check normalized composer.json runs-on: ubuntu-latest steps: + - name: Checkout base branch for PR + if: github.event_name == 'pull_request' + uses: actions/checkout@v4 + with: + ref: ${{ github.base_ref }} + - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/test-coding-standards.yml b/.github/workflows/test-coding-standards.yml index f30475a76dba..a1e2c4770296 100644 --- a/.github/workflows/test-coding-standards.yml +++ b/.github/workflows/test-coding-standards.yml @@ -32,6 +32,12 @@ jobs: - '8.3' steps: + - name: Checkout base branch for PR + if: github.event_name == 'pull_request' + uses: actions/checkout@v4 + with: + ref: ${{ github.base_ref }} + - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/test-deptrac.yml b/.github/workflows/test-deptrac.yml index fecb289b1b63..d96f8f27ef00 100644 --- a/.github/workflows/test-deptrac.yml +++ b/.github/workflows/test-deptrac.yml @@ -36,6 +36,12 @@ jobs: name: Architectural Inspection runs-on: ubuntu-22.04 steps: + - name: Checkout base branch for PR + if: github.event_name == 'pull_request' + uses: actions/checkout@v4 + with: + ref: ${{ github.base_ref }} + - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/test-phpstan.yml b/.github/workflows/test-phpstan.yml index aca331f30481..b5e93d699063 100644 --- a/.github/workflows/test-phpstan.yml +++ b/.github/workflows/test-phpstan.yml @@ -45,6 +45,12 @@ jobs: strategy: fail-fast: false steps: + - name: Checkout base branch for PR + if: github.event_name == 'pull_request' + uses: actions/checkout@v4 + with: + ref: ${{ github.base_ref }} + - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/test-psalm.yml b/.github/workflows/test-psalm.yml index b1f5891a46d9..ea948ab3bc65 100644 --- a/.github/workflows/test-psalm.yml +++ b/.github/workflows/test-psalm.yml @@ -27,6 +27,12 @@ jobs: if: (! contains(github.event.head_commit.message, '[ci skip]')) steps: + - name: Checkout base branch for PR + if: github.event_name == 'pull_request' + uses: actions/checkout@v4 + with: + ref: ${{ github.base_ref }} + - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/test-rector.yml b/.github/workflows/test-rector.yml index 286ca76cab42..0835d09edaf0 100644 --- a/.github/workflows/test-rector.yml +++ b/.github/workflows/test-rector.yml @@ -47,6 +47,12 @@ jobs: matrix: php-versions: ['8.1', '8.3'] steps: + - name: Checkout base branch for PR + if: github.event_name == 'pull_request' + uses: actions/checkout@v4 + with: + ref: ${{ github.base_ref }} + - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/test-userguide.yml b/.github/workflows/test-userguide.yml index b127d77dd344..f1e0d0bd60e6 100644 --- a/.github/workflows/test-userguide.yml +++ b/.github/workflows/test-userguide.yml @@ -26,10 +26,19 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: '3.12' + + - name: Install Sphinx + run: | + python -m pip install --upgrade pip + pip install -r user_guide_src/requirements.txt + - name: Detect usage of tabs in RST files run: php utils/check_tabs_in_rst.php - - uses: ammaraskar/sphinx-action@0.4 - with: - docs-folder: user_guide_src - build-command: 'make html SPHINXOPTS="-W --keep-going -w /tmp/sphinx-log"' + - name: Build Docs with Sphinx + run: make html SPHINXOPTS="-W --keep-going -w /tmp/sphinx-log" + working-directory: user_guide_src diff --git a/.php-cs-fixer.tests.php b/.php-cs-fixer.tests.php index 28a7124909e5..bf37256da58a 100644 --- a/.php-cs-fixer.tests.php +++ b/.php-cs-fixer.tests.php @@ -26,6 +26,7 @@ '_support/View/Cells/multiplier.php', '_support/View/Cells/colors.php', '_support/View/Cells/addition.php', + 'system/Database/Live/PreparedQueryTest.php', ]) ->notName('#Foobar.php$#'); diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d9867ef29c4..e423ad54d961 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,62 @@ # Changelog +## [v4.5.6](https://github.com/codeigniter4/CodeIgniter4/tree/v4.5.6) (2024-12-28) +[Full Changelog](https://github.com/codeigniter4/CodeIgniter4/compare/v4.5.5...v4.5.6) + +### Fixed Bugs + +* fix: auto_link() converts invalid strings like `://codeigniter.com` by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/9180 +* fix: change session start log level by @element-code in https://github.com/codeigniter4/CodeIgniter4/pull/9221 +* fix: `getValidated()` when validation multiple asterisk by @ddevsr in https://github.com/codeigniter4/CodeIgniter4/pull/9220 +* fix: Parser - Equal key name replace conflict by @CosDiabos in https://github.com/codeigniter4/CodeIgniter4/pull/9246 +* fix: case-insensitivity in the `like()` method when in use with accented characters by @michalsn in https://github.com/codeigniter4/CodeIgniter4/pull/9238 +* fix: TypeError for routes when translateURIDashes is enabled by @maniaba in https://github.com/codeigniter4/CodeIgniter4/pull/9209 +* fix: `fetchGlobal()` with numeric key by @neznaika0 in https://github.com/codeigniter4/CodeIgniter4/pull/9251 +* fix: curl request crashes with params that give an int once hexed. by @ping-yee in https://github.com/codeigniter4/CodeIgniter4/pull/9198 +* docs: allow boolean values in the model for PHPStan by @ping-yee in https://github.com/codeigniter4/CodeIgniter4/pull/9276 +* fix: respect complex language strings when using validation by @michalsn in https://github.com/codeigniter4/CodeIgniter4/pull/9201 +* fix: `DownloadResponse` cache headers by @michalsn in https://github.com/codeigniter4/CodeIgniter4/pull/9237 +* docs: fix `@param` `ResponseInterface::setJSON()` also accepts objects by @JulianAtkins in https://github.com/codeigniter4/CodeIgniter4/pull/9287 +* fix: [CURLRequest] body contains "HTTP/1.0 200 Connection established" by @ping-yee in https://github.com/codeigniter4/CodeIgniter4/pull/9285 +* fix: `Postgre\Connection::reconnect()` `TypeError` in `pg_ping()` by @ping-yee in https://github.com/codeigniter4/CodeIgniter4/pull/9279 +* fix: primary key mapping in the model for the entity by @michalsn in https://github.com/codeigniter4/CodeIgniter4/pull/9307 +* fix: check if defined `WRITEPATH` exists by @michalsn in https://github.com/codeigniter4/CodeIgniter4/pull/9317 +* fix: handling binary data for prepared statement by @michalsn in https://github.com/codeigniter4/CodeIgniter4/pull/9337 + +### Refactoring + +* refactor: enable TypedPropertyFromAssignsRector by @samsonasik in https://github.com/codeigniter4/CodeIgniter4/pull/9184 +* refactor: enable ClosureReturnTypeRector by @samsonasik in https://github.com/codeigniter4/CodeIgniter4/pull/9187 +* refactor: remove unnecessary `is_countable()` check in `getMethodParams()` by @datamweb in https://github.com/codeigniter4/CodeIgniter4/pull/9206 +* refactor: add more readonly property definitions on AutoRouteCollector and SiteURI by @samsonasik in https://github.com/codeigniter4/CodeIgniter4/pull/9210 +* refactor: starter key handling in SodiumHandler by @datamweb in https://github.com/codeigniter4/CodeIgniter4/pull/9207 +* refactor: enable rector code quality level 14 by @samsonasik in https://github.com/codeigniter4/CodeIgniter4/pull/9232 +* refactor: cleanup `DatabaseHandler::gc()` for session by @grimpirate in https://github.com/codeigniter4/CodeIgniter4/pull/9230 +* refactor: enable rector code quality level 15 by @samsonasik in https://github.com/codeigniter4/CodeIgniter4/pull/9243 +* refactor: enable SimplifyBoolIdenticalTrueRector by @samsonasik in https://github.com/codeigniter4/CodeIgniter4/pull/9244 +* refactor: enable FlipTypeControlToUseExclusiveTypeRector by @samsonasik in https://github.com/codeigniter4/CodeIgniter4/pull/9253 +* refactor: flip assert and actual value position on tests by @samsonasik in https://github.com/codeigniter4/CodeIgniter4/pull/9260 +* perf: Improve call as `service()` by @neznaika0 in https://github.com/codeigniter4/CodeIgniter4/pull/9248 +* refactor: use compare empty array on Forge on keys property by @samsonasik in https://github.com/codeigniter4/CodeIgniter4/pull/9267 +* refactor: Fix `phpstan` errors related to `Autoloader` by @neznaika0 in https://github.com/codeigniter4/CodeIgniter4/pull/9249 +* refactor: use `Superglobals` in setting 'REQUEST_METHOD' in `FeatureT… by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/9294 +* refactor: use `baseURI` instead of `base_uri` by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/9296 +* refactor: Apply code quality level 31 for rector by @samsonasik in https://github.com/codeigniter4/CodeIgniter4/pull/9303 +* refactor: rename `stdclass` to `stdClass` by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/9312 +* refactor: fix `phpDoc.parseError` errors by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/9313 +* refactor: fix `method.nameCase` errors by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/9315 +* refactor: rename `controller` to `Controller` by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/9314 +* refactor: fix implicit array creation by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/9316 +* refactor: follow up implicit variable array by @ddevsr in https://github.com/codeigniter4/CodeIgniter4/pull/9319 +* refactor: split phpstan-baseline into smaller files by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/9299 +* refactor: upgrade to use phpstan 2 and rector 2 by @samsonasik in https://github.com/codeigniter4/CodeIgniter4/pull/9322 +* refactor: fix `Forge::processIndexes()` for empty `$this->fields` by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/9330 +* refactor: `Reflection*::setAccessible()` is now no-op in PHP 8.1 by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/9331 +* refactor: add `@throws RedirectException` in `Controller::initController` by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/9327 +* refactor: fix warning on new static usage by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/9342 +* refactor: fix used void return type by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/9341 +* refactor: enable instanceof and strictBooleans rector set by @samsonasik in https://github.com/codeigniter4/CodeIgniter4/pull/9339 + ## [v4.5.5](https://github.com/codeigniter4/CodeIgniter4/tree/v4.5.5) (2024-09-07) [Full Changelog](https://github.com/codeigniter4/CodeIgniter4/compare/v4.5.4...v4.5.5) diff --git a/admin/RELEASE.md b/admin/RELEASE.md index 4f199a821177..9ed91e55c183 100644 --- a/admin/RELEASE.md +++ b/admin/RELEASE.md @@ -12,6 +12,9 @@ - `4.y`: The next minor version. (e.g., `4.6`) - `4.z`: The next next minor version. (e.g., `4.7`) +> [!NOTE] +> Copy this file, and replace the versions above with the actual versions. + ## Merge `develop` branch into next minor version branch `4.y` Before starting release process, if there are commits in `develop` branch that @@ -35,6 +38,26 @@ If you release a new minor version. "Branch protection rules" to the next minor version. E.g. `4.5` → `4.6` * [ ] Delete the merged `4.y` branch (This closes all PRs to the branch) +## Preparation + +Work off direct clones of the repos so the release branches persist for a time. + +* [ ] Clone both **codeigniter4/CodeIgniter4** and **codeigniter4/userguide** and + resolve any necessary PRs + ```console + rm -rf CodeIgniter4.bk userguide.bk + mv CodeIgniter4 CodeIgniter4.bk + mv userguide userguide.bk + git clone git@github.com:codeigniter4/CodeIgniter4.git + git clone git@github.com:codeigniter4/userguide.git + ``` +* [ ] Vet the **admin/** folders for any removed hidden files (Action deploy scripts + *do not remove these*) + ```console + cd CodeIgniter4 + git diff --name-status origin/master admin/ + ``` + ## Changelog When generating the changelog each Pull Request to be included must have one of @@ -65,33 +88,14 @@ the changelog. Copy the resulting content into **CHANGELOG.md** and adjust the format to match the existing content. -## Preparation - -Work off direct clones of the repos so the release branches persist for a time. - -* [ ] Clone both **codeigniter4/CodeIgniter4** and **codeigniter4/userguide** and - resolve any necessary PRs - ```console - rm -rf CodeIgniter4.bk userguide.bk - mv CodeIgniter4 CodeIgniter4.bk - mv userguide userguide.bk - git clone git@github.com:codeigniter4/CodeIgniter4.git - git clone git@github.com:codeigniter4/userguide.git - ``` -* [ ] Vet the **admin/** folders for any removed hidden files (Action deploy scripts - *do not remove these*) - ```console - cd CodeIgniter4 - git diff --name-status origin/master admin/ - ``` -* [ ] Merge any Security Advisory PRs in private forks - ## Process -> **Note** Most changes that need noting in the User Guide and docs should have +> [!NOTE] +> Most changes that need noting in the User Guide and docs should have > been included with their PR, so this process assumes you will not be > generating much new content. +* [ ] Merge any Security Advisory PRs in private forks * [ ] Replace **CHANGELOG.md** with the new version generated above * [ ] Update **user_guide_src/source/changelogs/v4.x.x.rst** * Remove the section titles that have no items diff --git a/admin/starter/tests/session/ExampleSessionTest.php b/admin/starter/tests/session/ExampleSessionTest.php index 6ada0c56996d..33242a477112 100644 --- a/admin/starter/tests/session/ExampleSessionTest.php +++ b/admin/starter/tests/session/ExampleSessionTest.php @@ -1,7 +1,6 @@ set('logged_in', 123); $this->assertSame(123, $session->get('logged_in')); diff --git a/admin/starter/tests/unit/HealthTest.php b/admin/starter/tests/unit/HealthTest.php index 25f229b0cec5..f6a5a804802f 100644 --- a/admin/starter/tests/unit/HealthTest.php +++ b/admin/starter/tests/unit/HealthTest.php @@ -2,7 +2,6 @@ use CodeIgniter\Test\CIUnitTestCase; use Config\App; -use Config\Services; use Tests\Support\Libraries\ConfigReader; /** @@ -17,7 +16,7 @@ public function testIsDefinedAppPath(): void public function testBaseUrlHasBeenSet(): void { - $validation = Services::validation(); + $validation = service('validation'); $env = false; diff --git a/app/Config/Events.php b/app/Config/Events.php index 62a7b86d46c8..946285b89519 100644 --- a/app/Config/Events.php +++ b/app/Config/Events.php @@ -44,10 +44,10 @@ */ if (CI_DEBUG && ! is_cli()) { Events::on('DBQuery', 'CodeIgniter\Debug\Toolbar\Collectors\Database::collect'); - Services::toolbar()->respond(); + service('toolbar')->respond(); // Hot Reload route - for framework use on the hot reloader. if (ENVIRONMENT === 'development') { - Services::routes()->get('__hot-reload', static function (): void { + service('routes')->get('__hot-reload', static function (): void { (new HotReloader())->run(); }); } diff --git a/app/Config/Format.php b/app/Config/Format.php index 3de98d7a95d7..2838f55ef0d9 100644 --- a/app/Config/Format.php +++ b/app/Config/Format.php @@ -72,6 +72,6 @@ class Format extends BaseConfig */ public function getFormatter(string $mime) { - return Services::format()->getFormatter($mime); + return service('format')->getFormatter($mime); } } diff --git a/app/Controllers/BaseController.php b/app/Controllers/BaseController.php index 8b435dab7056..689405bdf314 100644 --- a/app/Controllers/BaseController.php +++ b/app/Controllers/BaseController.php @@ -53,6 +53,6 @@ public function initController(RequestInterface $request, ResponseInterface $res // Preload any models, libraries, etc, here. - // E.g.: $this->session = \Config\Services::session(); + // E.g.: $this->session = service('session'); } } diff --git a/app/Views/errors/cli/error_exception.php b/app/Views/errors/cli/error_exception.php index 9f47d25141d2..2bf1459d4094 100644 --- a/app/Views/errors/cli/error_exception.php +++ b/app/Views/errors/cli/error_exception.php @@ -52,7 +52,7 @@ $args = implode(', ', array_map(static fn ($value) => match (true) { is_object($value) => 'Object(' . $value::class . ')', - is_array($value) => count($value) ? '[...]' : '[]', + is_array($value) => $value !== [] ? '[...]' : '[]', $value === null => 'null', // return the lowercased version default => var_export($value, true), }, array_values($error['args'] ?? []))); diff --git a/app/Views/errors/html/error_exception.php b/app/Views/errors/html/error_exception.php index 44d749892473..d5e0c2ec7ee0 100644 --- a/app/Views/errors/html/error_exception.php +++ b/app/Views/errors/html/error_exception.php @@ -1,6 +1,5 @@
- + @@ -343,7 +342,7 @@ setStatusCode(http_response_code()); ?>
diff --git a/composer.json b/composer.json index c2ed6374b550..76362069c615 100644 --- a/composer.json +++ b/composer.json @@ -17,18 +17,19 @@ "psr/log": "^3.0" }, "require-dev": { - "codeigniter/phpstan-codeigniter": "^1.4", + "codeigniter/phpstan-codeigniter": "^1.5.1", "fakerphp/faker": "^1.9", "kint-php/kint": "^5.0.4", "mikey179/vfsstream": "^1.6", "nexusphp/tachycardia": "^2.0", "phpstan/extension-installer": "^1.4", - "phpstan/phpstan": "^1.11", - "phpstan/phpstan-strict-rules": "^1.6", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", "phpunit/phpcov": "^9.0.2 || ^10.0", "phpunit/phpunit": "^10.5.16 || ^11.2", "predis/predis": "^1.1 || ^2.0", - "rector/rector": "1.2.4" + "rector/rector": "2.0.4", + "shipmonk/phpstan-baseline-per-identifier": "^2.0" }, "replace": { "codeigniter4/framework": "self.version" @@ -80,7 +81,8 @@ }, "extra": { "branch-alias": { - "dev-develop": "4.x-dev" + "dev-develop": "4.x-dev", + "dev-master": "4.x-dev" } }, "scripts": { @@ -110,7 +112,12 @@ "utils/vendor/bin/php-cs-fixer fix --ansi --verbose --diff" ], "metrics": "utils/vendor/bin/phpmetrics --config=phpmetrics.json", - "phpstan:baseline": "vendor/bin/phpstan analyse --ansi --generate-baseline=phpstan-baseline.php", + "phpstan:baseline": [ + "bash -c \"rm -rf utils/phpstan-baseline/*.neon\"", + "bash -c \"touch utils/phpstan-baseline/loader.neon\"", + "phpstan analyse --ansi --generate-baseline=utils/phpstan-baseline/loader.neon", + "split-phpstan-baseline utils/phpstan-baseline/loader.neon" + ], "phpstan:check": "vendor/bin/phpstan analyse --verbose --ansi", "sa": "@analyze", "style": "@cs-fix", diff --git a/phpdoc.dist.xml b/phpdoc.dist.xml index 7f13b0e78cff..686c89010971 100644 --- a/phpdoc.dist.xml +++ b/phpdoc.dist.xml @@ -10,7 +10,7 @@ api/build/ api/cache/ - + system diff --git a/phpstan-baseline.php b/phpstan-baseline.php deleted file mode 100644 index 1ba751d7c11d..000000000000 --- a/phpstan-baseline.php +++ /dev/null @@ -1,18515 +0,0 @@ - '#^PHPDoc type array\\\\>\\> of property Config\\\\Filters\\:\\:\\$filters is not the same as PHPDoc type array of overridden property CodeIgniter\\\\Config\\\\Filters\\:\\:\\$filters\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/app/Config/Filters.php', -]; -$ignoreErrors[] = [ - // identifier: function.alreadyNarrowedType - 'message' => '#^Call to function method_exists\\(\\) with \'Composer\\\\\\\\InstalledVersions\' and \'getAllRawData\' will always evaluate to true\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Autoloader/Autoloader.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Autoloader\\\\Autoloader\\:\\:loadComposerNamespaces\\(\\) has parameter \\$composerPackages with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Autoloader/Autoloader.php', -]; -$ignoreErrors[] = [ - // identifier: isset.property - 'message' => '#^Property Config\\\\Autoload\\:\\:\\$helpers \\(array\\\\) in isset\\(\\) is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Autoloader/Autoloader.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.condNotBoolean - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\|string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Autoloader/FileLocator.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Autoloader\\\\FileLocatorCached\\:\\:search\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Autoloader/FileLocatorCached.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Autoloader\\\\FileLocatorCached\\:\\:\\$cache type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Autoloader/FileLocatorCached.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Autoloader\\\\FileLocatorInterface\\:\\:search\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Autoloader/FileLocatorInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:__get\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:chunk\\(\\) has parameter \\$userFunc with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:cleanValidationRules\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:cleanValidationRules\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:convertToReturnType\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:delete\\(\\) has parameter \\$id with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doDelete\\(\\) has parameter \\$id with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doFind\\(\\) has parameter \\$id with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doFind\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doFindAll\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doFindColumn\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doFirst\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doInsertBatch\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doProtectFields\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doProtectFieldsForInsert\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doUpdate\\(\\) has parameter \\$id with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:doUpdateBatch\\(\\) has parameter \\$set with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:findAll\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:findColumn\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:first\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:getIdValue\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:getValidationMessages\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:getValidationRules\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:getValidationRules\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:paginate\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:setAllowedFields\\(\\) has parameter \\$allowedFields with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:setCreatedField\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:setUpdatedField\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:setValidationRule\\(\\) has parameter \\$fieldRules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:transformDataToArray\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:trigger\\(\\) has parameter \\$eventData with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:trigger\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\BaseModel\\:\\:update\\(\\) has parameter \\$id with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: booleanAnd.rightNotBoolean - 'message' => '#^Only booleans are allowed in &&, array\\ given on the right side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: booleanAnd.leftNotBoolean - 'message' => '#^Only booleans are allowed in &&, array\\|int\\|string\\|null given on the left side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.condNotBoolean - 'message' => '#^Only booleans are allowed in a ternary operator condition, array\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: notIdentical.alwaysTrue - 'message' => '#^Strict comparison using \\!\\=\\= between mixed and null will always evaluate to true\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/BaseModel.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'ANSICON\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'NO_COLOR\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'argv\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:isZeroOptions\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:printKeysAndValues\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:prompt\\(\\) has parameter \\$validation with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:promptByKey\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:promptByKey\\(\\) has parameter \\$text with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:promptByMultipleKeys\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:table\\(\\) has parameter \\$tbody with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:table\\(\\) has parameter \\$thead with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLI\\:\\:validate\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: booleanAnd.rightNotBoolean - 'message' => '#^Only booleans are allowed in &&, array\\ given on the right side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: booleanAnd.leftNotBoolean - 'message' => '#^Only booleans are allowed in &&, array\\|string\\|null given on the left side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.condNotBoolean - 'message' => '#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: booleanOr.leftNotBoolean - 'message' => '#^Only booleans are allowed in \\|\\|, string given on the left side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: booleanOr.leftNotBoolean - 'message' => '#^Only booleans are allowed in \\|\\|, string\\|null given on the left side\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: booleanOr.rightNotBoolean - 'message' => '#^Only booleans are allowed in \\|\\|, string\\|null given on the right side\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\CLI\\\\CLI\\:\\:\\$options type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\CLI\\\\CLI\\:\\:\\$segments type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/CLI/CLI.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\Commands\\:\\:getCommandAlternatives\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/Commands.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\Commands\\:\\:getCommands\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/Commands.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\Commands\\:\\:run\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/Commands.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\Commands\\:\\:verifyCommand\\(\\) has parameter \\$commands with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/Commands.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\CLI\\\\Commands\\:\\:\\$commands type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CLI/Commands.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\CacheInterface\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/CacheInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\CacheInterface\\:\\:getCacheInfo\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/CacheInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\CacheInterface\\:\\:getMetaData\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/CacheInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\CacheInterface\\:\\:save\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/CacheInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\FactoriesCache\\\\FileVarExportHandler\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/FactoriesCache/FileVarExportHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\BaseHandler\\:\\:remember\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/BaseHandler.php', -]; -$ignoreErrors[] = [ - // identifier: booleanAnd.leftNotBoolean - 'message' => '#^Only booleans are allowed in &&, string given on the left side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/BaseHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\DummyHandler\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/DummyHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\DummyHandler\\:\\:getMetaData\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/DummyHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\DummyHandler\\:\\:remember\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/DummyHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\DummyHandler\\:\\:save\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/DummyHandler.php', -]; -$ignoreErrors[] = [ - // identifier: function.alreadyNarrowedType - 'message' => '#^Call to function property_exists\\(\\) with Config\\\\Cache and \'file\' will always evaluate to true\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandler\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandler\\:\\:getCacheInfo\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandler\\:\\:getDirFileInfo\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandler\\:\\:getFileInfo\\(\\) has parameter \\$returnedValues with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandler\\:\\:getFileInfo\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandler\\:\\:getMetaData\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandler\\:\\:save\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$result might not be defined\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\MemcachedHandler\\:\\:getMetaData\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/MemcachedHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\PredisHandler\\:\\:getCacheInfo\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/PredisHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\PredisHandler\\:\\:save\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/PredisHandler.php', -]; -$ignoreErrors[] = [ - // identifier: booleanNot.exprNotBoolean - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/PredisHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Cache\\\\Handlers\\\\PredisHandler\\:\\:\\$config type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/PredisHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\RedisHandler\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/RedisHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\RedisHandler\\:\\:getCacheInfo\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/RedisHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\RedisHandler\\:\\:save\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/RedisHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Cache\\\\Handlers\\\\RedisHandler\\:\\:\\$config type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/RedisHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\WincacheHandler\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/WincacheHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\WincacheHandler\\:\\:getMetaData\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/WincacheHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\WincacheHandler\\:\\:save\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Cache/Handlers/WincacheHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CodeIgniter\\:\\:getPerformanceStats\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/CodeIgniter.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Database/CreateDatabase.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Database/MigrateStatus.php', -]; -$ignoreErrors[] = [ - // identifier: method.childParameterType - '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/Commands/Database/MigrateStatus.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Database/Seed.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'encryption\\.key\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Encryption/GenerateKey.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\ListCommands\\:\\:listFull\\(\\) has parameter \\$commands with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/ListCommands.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\ListCommands\\:\\:listSimple\\(\\) has parameter \\$commands with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/ListCommands.php', -]; -$ignoreErrors[] = [ - // identifier: method.void - 'message' => '#^Result of method CodeIgniter\\\\Commands\\\\ListCommands\\:\\:listFull\\(\\) \\(void\\) is used\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/ListCommands.php', -]; -$ignoreErrors[] = [ - // identifier: method.void - 'message' => '#^Result of method CodeIgniter\\\\Commands\\\\ListCommands\\:\\:listSimple\\(\\) \\(void\\) is used\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/ListCommands.php', -]; -$ignoreErrors[] = [ - // identifier: booleanAnd.leftNotBoolean - 'message' => '#^Only booleans are allowed in &&, int given on the left side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Server/Serve.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Translation\\\\LocalizationFinder\\:\\:arrayToTableRows\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Translation/LocalizationFinder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Translation\\\\LocalizationFinder\\:\\:arrayToTableRows\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Translation/LocalizationFinder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Translation\\\\LocalizationFinder\\:\\:buildMultiArray\\(\\) has parameter \\$fromKeys with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Translation/LocalizationFinder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Translation\\\\LocalizationFinder\\:\\:buildMultiArray\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Translation/LocalizationFinder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Translation\\\\LocalizationFinder\\:\\:findTranslationsInFile\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Translation/LocalizationFinder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Translation\\\\LocalizationFinder\\:\\:templateFile\\(\\) has parameter \\$language with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Translation/LocalizationFinder.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'CI_ENVIRONMENT\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Commands/Utilities/Environment.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\FilterCheck\\:\\:addRequiredFilters\\(\\) has parameter \\$filters with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/FilterCheck.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\FilterCheck\\:\\:addRequiredFilters\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/FilterCheck.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Namespaces\\:\\:outputAllNamespaces\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Namespaces.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Namespaces\\:\\:outputAllNamespaces\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Namespaces.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Namespaces\\:\\:outputCINamespaces\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Namespaces.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Namespaces.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'HTTP_HOST\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning non\\-falsy\\-string directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes.php', -]; -$ignoreErrors[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, Config\\\\Routing given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes.php', -]; -$ignoreErrors[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, string\\|null given\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes.php', -]; -$ignoreErrors[] = [ - // identifier: variable.implicitArray - 'message' => '#^Implicit array creation is not allowed \\- variable \\$filters might not exist\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\AutoRouteCollector\\:\\:addFilters\\(\\) has parameter \\$routes with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\AutoRouteCollector\\:\\:addFilters\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Commands/Utilities/Routes/AutoRouterImproved/ControllerMethodReader.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Commands/Utilities/Routes/AutoRouterImproved/ControllerMethodReader.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Commands/Utilities/Routes/AutoRouterImproved/ControllerMethodReader.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes/AutoRouterImproved/ControllerMethodReader.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\ControllerMethodReader\\:\\:getRouteWithoutController\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes/ControllerMethodReader.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Commands/Utilities/Routes/ControllerMethodReader.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'REMOTE_ADDR\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'REQUEST_METHOD\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset string directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function cache\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function class_uses_recursive\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function cookie\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function db_connect\\(\\) has parameter \\$db with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function esc\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function esc\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function helper\\(\\) has parameter \\$filenames with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function lang\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function log_message\\(\\) has parameter \\$context with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function old\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function service\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function session\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function single_service\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function stringify_attributes\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function trait_uses_recursive\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function view\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function view\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function view_cell\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: booleanAnd.leftNotBoolean - 'message' => '#^Only booleans are allowed in &&, string\\|null given on the left side\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Common.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - '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', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\ComposerScripts\\:\\:postUpdate\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/ComposerScripts.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'CI_ENVIRONMENT\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Config/AutoloadConfig.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset non\\-falsy\\-string directly on \\$_SERVER is discouraged\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/Config/BaseConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\BaseConfig\\:\\:__set_state\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/BaseConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Config/BaseService.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\BaseService\\:\\:__callStatic\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/BaseService.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\BaseService\\:\\:getSharedInstance\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/BaseService.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset string directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Config/DotEnv.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning string directly on offset string of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/DotEnv.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Config/DotEnv.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:__callStatic\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Factories.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:createInstance\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Factories.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:getDefinedInstance\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Factories.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:getDefinedInstance\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Factories.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:locateClass\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Factories.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:setComponentInstances\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Factories.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:verifyInstanceOf\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Factories.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\Factories\\:\\:verifyPreferApp\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Factories.php', -]; -$ignoreErrors[] = [ - // identifier: booleanNot.exprNotBoolean - 'message' => '#^Only booleans are allowed in a negated boolean, array given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Factories.php', -]; -$ignoreErrors[] = [ - // identifier: booleanNot.exprNotBoolean - 'message' => '#^Only booleans are allowed in a negated boolean, string\\|null given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Config/Factories.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Config\\\\Factory\\:\\:\\$default type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Factory.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Config\\\\Factory\\:\\:\\$models type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Factory.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Config\\\\Filters\\:\\:\\$filters type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Filters.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'SERVER_PROTOCOL\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Services.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.configArgumentInstanceof - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Services.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\Services\\:\\:curlrequest\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Services.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\Services\\:\\:email\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Services.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\Services\\:\\:superglobals\\(\\) has parameter \\$get with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Services.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\Services\\:\\:superglobals\\(\\) has parameter \\$server with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Config/Services.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\Controller\\:\\:\\$request \\(CodeIgniter\\\\HTTP\\\\CLIRequest\\|CodeIgniter\\\\HTTP\\\\IncomingRequest\\) does not accept CodeIgniter\\\\HTTP\\\\RequestInterface\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Controller.php', -]; -$ignoreErrors[] = [ - // identifier: method.childParameterType - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\DataCaster\\\\Cast\\\\ArrayCast\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/DataCaster/Cast/ArrayCast.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\DataCaster\\\\Cast\\\\CSVCast\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/DataCaster/Cast/CSVCast.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\DataCaster\\\\Cast\\\\JsonCast\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/DataCaster/Cast/JsonCast.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\DataConverter\\\\DataConverter\\:\\:fromDataSource\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/DataConverter/DataConverter.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\DataConverter\\\\DataConverter\\:\\:toDataSource\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/DataConverter/DataConverter.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 29, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:_whereIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:addUnionStatement\\(\\) has parameter \\$union with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:buildSubquery\\(\\) has parameter \\$builder with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:havingIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:havingNotIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orHavingIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orHavingNotIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orWhereIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:orWhereNotIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:resetRun\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:resetSelect\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:resetWrite\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:union\\(\\) has parameter \\$union with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:unionAll\\(\\) has parameter \\$union with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:whereIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:whereNotIn\\(\\) has parameter \\$values with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: isset.offset - 'message' => '#^Offset 4 on array\\{string, string, string, string, string, string\\} in isset\\(\\) always exists and is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: booleanNot.exprNotBoolean - 'message' => '#^Only booleans are allowed in a negated boolean, TWhenNot given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: elseif.condNotBoolean - 'message' => '#^Only booleans are allowed in an elseif condition, \\(callable\\)\\|null given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, TWhen given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#3 \\.\\.\\.\\$arrays of function array_map expects array, int\\|string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.property - 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:\\$db \\(CodeIgniter\\\\Database\\\\BaseConnection\\) in empty\\(\\) is not falsy\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseBuilder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Database\\\\QueryInterface\\:\\:getOriginalQuery\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseConnection.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 13, - 'path' => __DIR__ . '/system/Database/BaseConnection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:prepare\\(\\) has parameter \\$func with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BaseConnection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Database/BasePreparedQuery.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Database\\\\BasePreparedQuery\\:\\:execute\\(\\) has parameter \\$data with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/BasePreparedQuery.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Database/BaseResult.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.childParameterType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/Database/BaseUtils.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Config\\:\\:ensureFactory\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Config.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Database/Database.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Exceptions\\\\DataException\\:\\:forEmptyInputGiven\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Exceptions/DataException.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Exceptions\\\\DataException\\:\\:forFindColumnHaveMultipleColumns\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Exceptions/DataException.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Exceptions\\\\DataException\\:\\:forInvalidAllowedFields\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Exceptions/DataException.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Exceptions\\\\DataException\\:\\:forTableNotFound\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Exceptions/DataException.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 13, - 'path' => __DIR__ . '/system/Database/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeDefault\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeType\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeUnique\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:_attributeUnsigned\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Forge\\:\\:reset\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: booleanAnd.leftNotBoolean - 'message' => '#^Only booleans are allowed in &&, string given on the left side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\Database\\\\Forge\\:\\:\\$fields \\(array\\\\) does not accept array\\\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Migration\\:\\:down\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Migration.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Migration\\:\\:up\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Migration.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:addHistory\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:clearHistory\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:ensureTable\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:force\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\MigrationRunner\\:\\:removeHistory\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', -]; -$ignoreErrors[] = [ - // identifier: booleanAnd.rightNotBoolean - 'message' => '#^Only booleans are allowed in &&, int\\<0, max\\> given on the right side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.condNotBoolean - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\<0, max\\> given\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.condNotBoolean - 'message' => '#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', -]; -$ignoreErrors[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/MigrationRunner.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 11, - 'path' => __DIR__ . '/system/Database/MySQLi/Connection.php', -]; -$ignoreErrors[] = [ - // identifier: booleanAnd.leftNotBoolean - 'message' => '#^Only booleans are allowed in &&, int given on the left side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/MySQLi/Connection.php', -]; -$ignoreErrors[] = [ - // identifier: booleanNot.exprNotBoolean - 'message' => '#^Only booleans are allowed in a negated boolean, array given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/MySQLi/Connection.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/Database/MySQLi/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Database\\\\BaseConnection\\\\:\\:\\$mysqli\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Database/MySQLi/PreparedQuery.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/MySQLi/Result.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\OCI8\\\\Builder\\:\\:resetSelect\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#3 \\.\\.\\.\\$arrays of function array_map expects array, int\\|string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Builder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Database\\\\OCI8\\\\Connection\\:\\:\\$resetStmtId has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Database\\\\OCI8\\\\Connection\\:\\:\\$validDSNs has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/OCI8/Connection.php', -]; -$ignoreErrors[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Database/OCI8/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 7, - 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#3 \\.\\.\\.\\$arrays of function array_map expects array, int\\|string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Builder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:buildDSN\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:\\$connect_timeout has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:\\$options has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:\\$service has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Database\\\\Postgre\\\\Connection\\:\\:\\$sslmode has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Connection.php', -]; -$ignoreErrors[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Postgre\\\\Forge\\:\\:_attributeType\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Postgre/Result.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Database\\\\PreparedQueryInterface\\:\\:execute\\(\\) has parameter \\$data with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/PreparedQueryInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Database/Query.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Query\\:\\:compileBinds\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Query.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\QueryInterface\\:\\:setError\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/QueryInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\ResultInterface\\:\\:freeResult\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/ResultInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$schema\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 9, - 'path' => __DIR__ . '/system/Database/SQLSRV/Builder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.childParameterType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 6, - 'path' => __DIR__ . '/system/Database/SQLSRV/Connection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$schema\\.$#', - 'count' => 13, - 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLSRV\\\\Forge\\:\\:_attributeType\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLSRV/Result.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Database/SQLite3/Builder.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#3 \\.\\.\\.\\$arrays of function array_map expects array, int\\|string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Builder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Connection.php', -]; -$ignoreErrors[] = [ - // identifier: booleanNot.exprNotBoolean - 'message' => '#^Only booleans are allowed in a negated boolean, string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Connection.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\:\\:_attributeAutoIncrement\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\:\\:_attributeType\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Forge.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Database/SQLite3/Table.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Table\\:\\:copyData\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Table.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\SQLite3\\\\Table\\:\\:dropIndexes\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/SQLite3/Table.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\Seeder\\:\\:call\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Database/Seeder.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/system/Debug/Timer.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Debug/Toolbar.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Logs.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: nullCoalesce.property - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\View\\\\RendererInterface\\:\\:getData\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Views.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\View\\\\RendererInterface\\:\\:getPerformanceData\\(\\)\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Debug/Toolbar/Collectors/Views.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'SERVER_ADDR\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Email/Email.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'SERVER_NAME\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Email/Email.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 12, - 'path' => __DIR__ . '/system/Email/Email.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: booleanAnd.leftNotBoolean - 'message' => '#^Only booleans are allowed in &&, int given on the left side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Email/Email.php', -]; -$ignoreErrors[] = [ - // identifier: booleanAnd.rightNotBoolean - 'message' => '#^Only booleans are allowed in &&, string given on the right side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Email/Email.php', -]; -$ignoreErrors[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Email/Email.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: isset.property - 'message' => '#^Static property CodeIgniter\\\\Email\\\\Email\\:\\:\\$func_overload \\(bool\\) in isset\\(\\) is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Email/Email.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Encryption/Encryption.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Encryption/Handlers/OpenSSLHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, array\\|string\\|null given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Encryption/Handlers/OpenSSLHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Encryption/Handlers/SodiumHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.childParameterType - '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[] = [ - // identifier: method.childParameterType - '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[] = [ - // identifier: method.childParameterType - '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[] = [ - // identifier: method.childParameterType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Entity/Entity.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: codeigniter.configArgumentInstanceof - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Events\\\\Events\\:\\:on\\(\\) has parameter \\$callback with no signature specified for callable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Events/Events.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Events\\\\Events\\:\\:removeListener\\(\\) has parameter \\$listener with no signature specified for callable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Events/Events.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Files/File.php', -]; -$ignoreErrors[] = [ - // identifier: nullCoalesce.property - 'message' => '#^Property CodeIgniter\\\\Files\\\\File\\:\\:\\$size \\(int\\) on left side of \\?\\? is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Files/File.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: codeigniter.configArgumentInstanceof - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Filters/Filters.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\Filters\\:\\:getRequiredFilters\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Filters/Filters.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\Filters\\:\\:runAfter\\(\\) has parameter \\$filterClasses with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Filters/Filters.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\Filters\\:\\:runBefore\\(\\) has parameter \\$filterClasses with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Filters/Filters.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\Filters\\:\\:setToolbarToLast\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Filters/Filters.php', -]; -$ignoreErrors[] = [ - // identifier: booleanNot.exprNotBoolean - 'message' => '#^Only booleans are allowed in a negated boolean, array\\\\>\\> given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Filters/Filters.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\ForceHTTPS\\:\\:after\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Filters/ForceHTTPS.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\ForceHTTPS\\:\\:before\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Filters/ForceHTTPS.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\PageCache\\:\\:after\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Filters/PageCache.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\PageCache\\:\\:before\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Filters/PageCache.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\PerformanceMetrics\\:\\:after\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Filters/PerformanceMetrics.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\PerformanceMetrics\\:\\:before\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Filters/PerformanceMetrics.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 10, - 'path' => __DIR__ . '/system/HTTP/CURLRequest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 6, - 'path' => __DIR__ . '/system/HTTP/ContentSecurityPolicy.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'HTTP_USER_AGENT\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/DownloadResponse.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: function.alreadyNarrowedType - 'message' => '#^Call to function is_array\\(\\) with array will always evaluate to true\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Files/FileCollection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: booleanAnd.rightNotBoolean - 'message' => '#^Only booleans are allowed in &&, array given on the right side\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/Files/FileCollection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: nullCoalesce.expr - 'message' => '#^Expression on left side of \\?\\? is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Files/UploadedFile.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: nullCoalesce.property - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'HTTPS\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'QUERY_STRING\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'REQUEST_URI\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'SCRIPT_NAME\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset array\\|string directly on \\$_GET is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning string directly on offset \'QUERY_STRING\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/IncomingRequest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'CONTENT_TYPE\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Message.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \\(int\\|string\\) directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Message.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/Message.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: nullCoalesce.property - 'message' => '#^Property CodeIgniter\\\\HTTP\\\\Message\\:\\:\\$protocolVersion \\(string\\) on left side of \\?\\? is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Message.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: ternary.condNotBoolean - 'message' => '#^Only booleans are allowed in a ternary operator condition, int\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/OutgoingRequest.php', -]; -$ignoreErrors[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, array\\ given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/RedirectResponse.php', -]; -$ignoreErrors[] = [ - // identifier: nullCoalesce.variable - 'message' => '#^Variable \\$_GET on left side of \\?\\? always exists and is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/RedirectResponse.php', -]; -$ignoreErrors[] = [ - // identifier: nullCoalesce.variable - 'message' => '#^Variable \\$_POST on left side of \\?\\? always exists and is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/RedirectResponse.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/HTTP/Request.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Request.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'REQUEST_METHOD\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/HTTP/Response.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'SERVER_PROTOCOL\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Response.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'SERVER_SOFTWARE\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/Response.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/Response.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: booleanAnd.leftNotBoolean - 'message' => '#^Only booleans are allowed in &&, string\\|null given on the left side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Response.php', -]; -$ignoreErrors[] = [ - // identifier: booleanAnd.rightNotBoolean - 'message' => '#^Only booleans are allowed in &&, string\\|null given on the right side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/Response.php', -]; -$ignoreErrors[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, string\\|null given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/Response.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/HTTP/SiteURI.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: notIdentical.alwaysTrue - 'message' => '#^Strict comparison using \\!\\=\\= between mixed and null will always evaluate to true\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/SiteURI.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 10, - 'path' => __DIR__ . '/system/HTTP/URI.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: nullCoalesce.property - 'message' => '#^Property CodeIgniter\\\\HTTP\\\\URI\\:\\:\\$fragment \\(string\\) on left side of \\?\\? is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/URI.php', -]; -$ignoreErrors[] = [ - // identifier: nullCoalesce.property - 'message' => '#^Property CodeIgniter\\\\HTTP\\\\URI\\:\\:\\$host \\(string\\) on left side of \\?\\? is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/URI.php', -]; -$ignoreErrors[] = [ - // identifier: nullCoalesce.property - 'message' => '#^Property CodeIgniter\\\\HTTP\\\\URI\\:\\:\\$path \\(string\\) on left side of \\?\\? is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/URI.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: notIdentical.alwaysTrue - 'message' => '#^Strict comparison using \\!\\=\\= between mixed and null will always evaluate to true\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HTTP/URI.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'HTTP_REFERER\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/HTTP/UserAgent.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'HTTP_USER_AGENT\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/UserAgent.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/HTTP/UserAgent.php', -]; -$ignoreErrors[] = [ - // identifier: booleanAnd.rightNotBoolean - 'message' => '#^Only booleans are allowed in &&, array\\ given on the right side\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/HTTP/UserAgent.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:arrayAttachIndexedValue\\(\\) has parameter \\$indexes with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:arrayAttachIndexedValue\\(\\) has parameter \\$result with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:arrayAttachIndexedValue\\(\\) has parameter \\$row with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:arrayAttachIndexedValue\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:arraySearchDot\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:arraySearchDot\\(\\) has parameter \\$indexes with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:arraySearchDot\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:dotKeyExists\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:dotSearch\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:dotSearch\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:groupBy\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:groupBy\\(\\) has parameter \\$indexes with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:groupBy\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:recursiveCount\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:recursiveDiff\\(\\) has parameter \\$compareWith with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:recursiveDiff\\(\\) has parameter \\$original with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelper\\:\\:recursiveDiff\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/Array/ArrayHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: booleanAnd.rightAlwaysTrue - 'message' => '#^Right side of && is always true\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$result might not be defined\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/filesystem_helper.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/form_helper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: booleanNot.exprNotBoolean - 'message' => '#^Only booleans are allowed in a negated boolean, int\\<0, max\\> given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/form_helper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Helpers/test_helper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Function fake\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/test_helper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: ternary.condNotBoolean - 'message' => '#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/text_helper.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/url_helper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: variable.implicitArray - 'message' => '#^Implicit array creation is not allowed \\- variable \\$atts might not exist\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/url_helper.php', -]; -$ignoreErrors[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$atts might not be defined\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Helpers/url_helper.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Honeypot/Honeypot.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: booleanOr.rightNotBoolean - 'message' => '#^Only booleans are allowed in \\|\\|, int given on the right side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/HotReloader/HotReloader.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/system/Images/Handlers/BaseHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: return.missing - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.property - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: greaterOrEqual.invalid - 'message' => '#^Comparison operation "\\>\\=" between \\(array\\|float\\|int\\) and 0 results in an error\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 8, - 'path' => __DIR__ . '/system/Images/Handlers/ImageMagickHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: nullCoalesce.property - '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[] = [ - // identifier: nullCoalesce.property - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Images/Image.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Log/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: identical.alwaysTrue - 'message' => '#^Strict comparison using \\=\\=\\= between true and true will always evaluate to true\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Log/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.childParameterType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Model\\:\\:__call\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Model.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Model\\:\\:__get\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Model.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Model\\:\\:chunk\\(\\) has parameter \\$userFunc with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Model.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Model\\:\\:doProtectFieldsForInsert\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Model.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Model\\:\\:getIdValue\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Model.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: booleanAnd.leftNotBoolean - 'message' => '#^Only booleans are allowed in &&, array given on the left side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Model.php', -]; -$ignoreErrors[] = [ - // identifier: booleanAnd.rightNotBoolean - 'message' => '#^Only booleans are allowed in &&, string given on the right side\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Model.php', -]; -$ignoreErrors[] = [ - // identifier: booleanAnd.leftNotBoolean - 'message' => '#^Only booleans are allowed in &&, string\\|null given on the left side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Model.php', -]; -$ignoreErrors[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, array\\|int\\|string\\|null given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Model.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Model\\:\\:\\$escape type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Model.php', -]; -$ignoreErrors[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset mixed directly on \\$_GET is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Pager/Pager.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Pager/Pager.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: codeigniter.modelArgumentInstanceof - 'message' => '#^Argument \\#1 \\$name \\(class\\-string\\) passed to function model does not extend CodeIgniter\\\\\\\\Model\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/RESTful/BaseResource.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/system/RESTful/BaseResource.php', -]; -$ignoreErrors[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, object\\|string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/RESTful/BaseResource.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: ternary.condNotBoolean - 'message' => '#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/AutoRouter.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Router\\\\AutoRouterImproved\\:\\:\\$moduleRoutes type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/AutoRouterImproved.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 6, - 'path' => __DIR__ . '/system/Router/RouteCollection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:environment\\(\\) has parameter \\$callback with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/RouteCollection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:group\\(\\) has parameter \\$params with no signature specified for callable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/RouteCollection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/RouteCollection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: booleanAnd.leftNotBoolean - 'message' => '#^Only booleans are allowed in &&, array\\ given on the left side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/RouteCollection.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.condNotBoolean - 'message' => '#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/RouteCollection.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:set404Override\\(\\) has parameter \\$callable with no signature specified for callable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/RouteCollectionInterface.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'REQUEST_METHOD\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:getDefaultNamespace\\(\\)\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Router/Router.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:getFiltersForRoute\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:getRegisteredControllers\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:getRoutesOptions\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:isFiltered\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Router\\\\RouteCollectionInterface\\:\\:setHTTPVerb\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Router/Router.php', -]; -$ignoreErrors[] = [ - // identifier: nullCoalesce.expr - 'message' => '#^Expression on left side of \\?\\? is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:get404Override\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:replaceBackReferences\\(\\) has parameter \\$matches with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Router\\\\Router\\:\\:setMatchedRoute\\(\\) has parameter \\$handler with no signature specified for callable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Router/Router.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Security\\\\CheckPhpIni\\:\\:checkIni\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Security/CheckPhpIni.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Security\\\\CheckPhpIni\\:\\:outputForCli\\(\\) has parameter \\$output with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Security/CheckPhpIni.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Security\\\\CheckPhpIni\\:\\:outputForCli\\(\\) has parameter \\$tbody with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Security/CheckPhpIni.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Security\\\\CheckPhpIni\\:\\:outputForCli\\(\\) has parameter \\$thead with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Security/CheckPhpIni.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Security\\\\CheckPhpIni\\:\\:outputForWeb\\(\\) has parameter \\$output with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Security/CheckPhpIni.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Security\\\\CheckPhpIni\\:\\:outputForWeb\\(\\) has parameter \\$tbody with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Security/CheckPhpIni.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Security\\\\CheckPhpIni\\:\\:outputForWeb\\(\\) has parameter \\$thead with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Security/CheckPhpIni.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forEmptySavepath\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forInvalidSameSiteSetting\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forInvalidSavePath\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forInvalidSavePathFormat\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forMissingDatabaseTable\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Exceptions\\\\SessionException\\:\\:forWriteProtectedSavePath\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Exceptions/SessionException.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Session\\\\Handlers\\\\ArrayHandler\\:\\:\\$cache has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/ArrayHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\Database\\\\PostgreHandler\\:\\:setSelect\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/Database/PostgreHandler.php', -]; -$ignoreErrors[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, mixed given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Session/Handlers/Database/PostgreHandler.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Session/Handlers/DatabaseHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\DatabaseHandler\\:\\:setSelect\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/DatabaseHandler.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\FileHandler\\:\\:configureSessionIDRegex\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - '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[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$written might not be defined\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/FileHandler.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/MemcachedHandler.php', -]; -$ignoreErrors[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, mixed given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Handlers/MemcachedHandler.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Session/Handlers/RedisHandler.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'HTTP_X_REQUESTED_WITH\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:configure\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:configureSidLength\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:destroy\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:initVars\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:keepFlashdata\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:push\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:regenerate\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:remove\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:removeTempdata\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:set\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setCookie\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setFlashdata\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setSaveHandler\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:setTempdata\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:startSession\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:stop\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:unmarkFlashdata\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Session\\:\\:unmarkTempdata\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/Session.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:destroy\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:keepFlashdata\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:regenerate\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:remove\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:removeTempdata\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:set\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:setFlashdata\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:setTempdata\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:unmarkFlashdata\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionInterface\\:\\:unmarkTempdata\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Session/SessionInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Superglobals\\:\\:get\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Superglobals.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Superglobals\\:\\:\\$get type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Superglobals.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Superglobals\\:\\:\\$server type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Superglobals.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:assertCloseEnough\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:getPrivateMethodInvoker\\(\\) return type has no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:mockCache\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:mockEmail\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:mockSession\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:resetFactories\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:resetServices\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:setPrivateProperty\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: booleanNot.exprNotBoolean - 'message' => '#^Only booleans are allowed in a negated boolean, CodeIgniter\\\\CodeIgniter given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: property.defaultValue - 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$seed \\(array\\\\>\\|class\\-string\\\\) does not accept default value of type string\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/CIUnitTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: function.alreadyNarrowedType - 'message' => '#^Call to function is_array\\(\\) with non\\-empty\\-array will always evaluate to true\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/DOMParser.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Fabricator\\:\\:resetCounts\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Fabricator.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: codeigniter.modelArgumentType - 'message' => '#^Parameter \\#1 \\$name of function model expects a valid class string, string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Fabricator.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockCLIConfig\\:\\:\\$CSRFExcludeURIs has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCLIConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:getBaseURI\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:getDelay\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:setOutput\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:setOutput\\(\\) has parameter \\$output with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:\\$curl_options has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockCURLRequest\\:\\:\\$output has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockCURLRequest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$insert_id on object\\|resource\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockConnection.php', -]; -$ignoreErrors[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockEvents\\:\\:getEventsFile\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockEvents.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockEvents\\:\\:getListeners\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockEvents.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockEvents\\:\\:getSimulate\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockEvents.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockEvents\\:\\:unInitialize\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockEvents.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockFileLogger\\:\\:__construct\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockFileLogger.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockFileLogger\\:\\:\\$destination has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockFileLogger.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockInputOutput\\:\\:getOutputs\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockInputOutput.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockLanguage\\:\\:disableIntlSupport\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockLanguage.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockLanguage\\:\\:requireFile\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockLanguage.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockLanguage\\:\\:setData\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockLanguage.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockLogger\\:\\:\\$dateFormat has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockLogger.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockLogger\\:\\:\\$handlers has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockLogger.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockLogger\\:\\:\\$threshold has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockLogger.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourceController\\:\\:getFormat\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResourceController.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourceController\\:\\:getModel\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResourceController.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourceController\\:\\:getModelName\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResourceController.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:getFormat\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:getModel\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:getModelName\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:respond\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResourcePresenter\\:\\:respondUpdated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResourcePresenter.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResponse\\:\\:getPretend\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResponse.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResponse\\:\\:misbehave\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResponse.php', -]; -$ignoreErrors[] = [ - // identifier: return.missing - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResult\\:\\:fetchAssoc\\(\\) should return mixed but return statement is missing\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResult.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResult\\:\\:getFieldData\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResult.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockResult\\:\\:getFieldNames\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockResult.php', -]; -$ignoreErrors[] = [ - // identifier: method.childReturnType - '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[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockServices\\:\\:\\$classmap has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockServices.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockServices\\:\\:\\$psr4 has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockServices.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockSession\\:\\:regenerate\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockSession.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockSession\\:\\:setCookie\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockSession.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockSession\\:\\:setSaveHandler\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockSession.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockSession\\:\\:startSession\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockSession.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\Mock\\\\MockSession\\:\\:\\$didRegenerate has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockSession.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockTable\\:\\:__call\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockTable.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockTable\\:\\:__call\\(\\) has parameter \\$method with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockTable.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Test\\\\Mock\\\\MockTable\\:\\:__call\\(\\) has parameter \\$params with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/Mock/MockTable.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\PhpStreamWrapper\\:\\:register\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/PhpStreamWrapper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\PhpStreamWrapper\\:\\:restore\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/PhpStreamWrapper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\PhpStreamWrapper\\:\\:setContent\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/PhpStreamWrapper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\PhpStreamWrapper\\:\\:stream_stat\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/PhpStreamWrapper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertJSONExact\\(\\) has parameter \\$test with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponse\\:\\:assertJSONFragment\\(\\) has parameter \\$fragment with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Test/TestResponse.php', -]; -$ignoreErrors[] = [ - // identifier: nullCoalesce.property - 'message' => '#^Property CodeIgniter\\\\Throttle\\\\Throttler\\:\\:\\$testTime \\(int\\) on left side of \\?\\? is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Throttle/Throttler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Typography\\\\Typography\\:\\:protectCharacters\\(\\) has parameter \\$match with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Typography/Typography.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Typography\\\\Typography\\:\\:\\$innerBlockRequired type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Typography/Typography.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\CreditCardRules\\:\\:\\$cards type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/CreditCardRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\DotArrayFilter\\:\\:filter\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/DotArrayFilter.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\DotArrayFilter\\:\\:filter\\(\\) has parameter \\$indexes with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/DotArrayFilter.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\DotArrayFilter\\:\\:filter\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/DotArrayFilter.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\DotArrayFilter\\:\\:run\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/DotArrayFilter.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\DotArrayFilter\\:\\:run\\(\\) has parameter \\$indexes with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/DotArrayFilter.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: booleanNot.exprNotBoolean - 'message' => '#^Only booleans are allowed in a negated boolean, array\\|null given\\.$#', - 'count' => 6, - 'path' => __DIR__ . '/system/Validation/FileRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Rules\\:\\:differs\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Rules\\:\\:field_exists\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Rules\\:\\:field_exists\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Rules\\:\\:is_unique\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Rules\\:\\:matches\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Rules\\:\\:required\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Rules\\:\\:required_with\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Rules\\:\\:required_without\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/CreditCardRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:alpha\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:decimal\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:hex\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:integer\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:numeric\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:string\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRules\\:\\:timezone\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/FormatRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:differs\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:differs\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:equals\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:field_exists\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:field_exists\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:matches\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:matches\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\Rules\\:\\:required\\(\\) has parameter \\$str with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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/Validation/StrictRules/Rules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:check\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:check\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:fillPlaceholders\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:fillPlaceholders\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:fillPlaceholders\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:getRules\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:getValidated\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:isClosure\\(\\) has parameter \\$rule with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:isStringList\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:loadRuleGroup\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processIfExist\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processIfExist\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processIfExist\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processPermitEmpty\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processPermitEmpty\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processPermitEmpty\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processPermitEmpty\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processRules\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processRules\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:processRules\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:retrievePlaceholders\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:retrievePlaceholders\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:run\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:run\\(\\) has parameter \\$dbGroup with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:setRule\\(\\) has parameter \\$errors with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:setRule\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:setRules\\(\\) has parameter \\$errors with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:setRules\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\Validation\\:\\:splitRules\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\Validation\\:\\:\\$customErrors type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\Validation\\:\\:\\$data type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\Validation\\:\\:\\$errors type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\Validation\\:\\:\\$ruleSetFiles type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\Validation\\:\\:\\$ruleSetInstances type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\Validation\\:\\:\\$validated type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:check\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:check\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:getRules\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:loadRuleGroup\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:run\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:run\\(\\) has parameter \\$dbGroup with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:setRule\\(\\) has parameter \\$errors with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:setRule\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:setRules\\(\\) has parameter \\$messages with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationInterface\\:\\:setRules\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/Validation/ValidationInterface.php', -]; -$ignoreErrors[] = [ - // identifier: staticMethod.notFound - 'message' => '#^Call to an undefined static method CodeIgniter\\\\Config\\\\Factories\\:\\:cells\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Cell.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\Cell\\:\\:determineClass\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Cell.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\Cell\\:\\:getMethodParams\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Cell.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - '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[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\Cell\\:\\:renderCell\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Cell.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\Cell\\:\\:renderSimpleClass\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Cell.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\Cells\\\\Cell\\:\\:fill\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Cells/Cell.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\Cells\\\\Cell\\:\\:getNonPublicProperties\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Cells/Cell.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\Cells\\\\Cell\\:\\:getPublicProperties\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Cells/Cell.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\Cells\\\\Cell\\:\\:includeComputedProperties\\(\\) has parameter \\$properties with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Cells/Cell.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\Cells\\\\Cell\\:\\:includeComputedProperties\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Cells/Cell.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\Cells\\\\Cell\\:\\:view\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Cells/Cell.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/system/Traits/PropertiesTrait\\.php\\:49\\:\\:getProperties\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Cells/Cell.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:addPlugin\\(\\) has parameter \\$callback with no signature specified for callable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Parser.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\Parser\\:\\:replaceSingle\\(\\) has parameter \\$pattern with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Parser.php', -]; -$ignoreErrors[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Table.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Property CodeIgniter\\\\View\\\\Table\\:\\:\\$function type has no signature specified for callable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/system/View/Table.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/system/View/View.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Cells\\\\StarterCell\\:\\:hello\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Cells/StarterCell.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method Tests\\\\Support\\\\Cells\\\\StarterCell\\:\\:hello\\(\\) has parameter \\$params with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Cells/StarterCell.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Commands/LanguageCommand.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property Tests\\\\Support\\\\Commands\\\\ParamsReveal\\:\\:\\$args has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Commands/ParamsReveal.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Config\\\\BadRegistrar\\:\\:RegistrarConfig\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Config/BadRegistrar.php', -]; -$ignoreErrors[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$filters might not be defined\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/_support/Config/Filters.php', -]; -$ignoreErrors[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$routes might not be defined\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/_support/Config/Routes.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Config\\\\TestRegistrar\\:\\:RegistrarConfig\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Config/TestRegistrar.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property Tests\\\\Support\\\\Config\\\\Validation\\:\\:\\$signup has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Config/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property Tests\\\\Support\\\\Config\\\\Validation\\:\\:\\$signup_errors has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Config/Validation.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Hello\\:\\:index\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Hello.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Newautorouting\\:\\:getIndex\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Newautorouting.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Newautorouting\\:\\:postSave\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Newautorouting.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Newautorouting\\:\\:postSave\\(\\) has parameter \\$c with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Newautorouting.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:echoJson\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:fail\\(\\) has parameter \\$messages with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:format\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:goaway\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:index\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:index3\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:json\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:oops\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:pop\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:respond\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:respondCreated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:respondDeleted\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:respondUpdated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:toindex\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:weasel\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Popcorn\\:\\:xml\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Popcorn.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Remap\\:\\:_remap\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Remap.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Remap\\:\\:_remap\\(\\) has parameter \\$method with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Remap.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Remap\\:\\:_remap\\(\\) has parameter \\$params with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Remap.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Remap\\:\\:abc\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Remap.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Controllers\\\\Remap\\:\\:index\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Controllers/Remap.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Entity\\\\Cast\\\\CastBase64\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Entity/Cast/CastBase64.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Entity\\\\Cast\\\\CastBase64\\:\\:set\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Entity/Cast/CastBase64.php', -]; -$ignoreErrors[] = [ - // identifier: method.childParameterType - 'message' => '#^Parameter \\#1 \\$value \\(string\\) of method Tests\\\\Support\\\\Entity\\\\Cast\\\\CastBase64\\:\\: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__ . '/tests/_support/Entity/Cast/CastBase64.php', -]; -$ignoreErrors[] = [ - // identifier: method.childParameterType - 'message' => '#^Parameter \\#1 \\$value \\(string\\) of method Tests\\\\Support\\\\Entity\\\\Cast\\\\CastBase64\\:\\: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__ . '/tests/_support/Entity/Cast/CastBase64.php', -]; -$ignoreErrors[] = [ - // identifier: method.childParameterType - 'message' => '#^Parameter \\#1 \\$value \\(string\\) of method Tests\\\\Support\\\\Entity\\\\Cast\\\\CastBase64\\:\\: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__ . '/tests/_support/Entity/Cast/CastBase64.php', -]; -$ignoreErrors[] = [ - // identifier: method.childParameterType - 'message' => '#^Parameter \\#1 \\$value \\(string\\) of method Tests\\\\Support\\\\Entity\\\\Cast\\\\CastBase64\\:\\: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__ . '/tests/_support/Entity/Cast/CastBase64.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Entity\\\\Cast\\\\CastBinaryUUID\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Entity/Cast/CastBinaryUUID.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Entity\\\\Cast\\\\CastBinaryUUID\\:\\:set\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Entity/Cast/CastBinaryUUID.php', -]; -$ignoreErrors[] = [ - // identifier: method.childParameterType - 'message' => '#^Parameter \\#1 \\$binary \\(string\\) of method Tests\\\\Support\\\\Entity\\\\Cast\\\\CastBinaryUUID\\:\\: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__ . '/tests/_support/Entity/Cast/CastBinaryUUID.php', -]; -$ignoreErrors[] = [ - // identifier: method.childParameterType - 'message' => '#^Parameter \\#1 \\$binary \\(string\\) of method Tests\\\\Support\\\\Entity\\\\Cast\\\\CastBinaryUUID\\:\\: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__ . '/tests/_support/Entity/Cast/CastBinaryUUID.php', -]; -$ignoreErrors[] = [ - // identifier: method.childParameterType - 'message' => '#^Parameter \\#1 \\$string \\(string\\) of method Tests\\\\Support\\\\Entity\\\\Cast\\\\CastBinaryUUID\\:\\: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__ . '/tests/_support/Entity/Cast/CastBinaryUUID.php', -]; -$ignoreErrors[] = [ - // identifier: method.childParameterType - 'message' => '#^Parameter \\#1 \\$string \\(string\\) of method Tests\\\\Support\\\\Entity\\\\Cast\\\\CastBinaryUUID\\:\\: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__ . '/tests/_support/Entity/Cast/CastBinaryUUID.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Entity\\\\Cast\\\\CastPassParameters\\:\\:set\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Entity/Cast/CastPassParameters.php', -]; -$ignoreErrors[] = [ - // identifier: method.childReturnType - 'message' => '#^Return type \\(mixed\\) of method Tests\\\\Support\\\\Entity\\\\Cast\\\\CastPassParameters\\:\\:set\\(\\) should be covariant with return type \\(array\\|bool\\|float\\|int\\|object\\|string\\|null\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\BaseCast\\:\\:set\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Entity/Cast/CastPassParameters.php', -]; -$ignoreErrors[] = [ - // identifier: method.childReturnType - 'message' => '#^Return type \\(mixed\\) of method Tests\\\\Support\\\\Entity\\\\Cast\\\\CastPassParameters\\:\\:set\\(\\) should be covariant with return type \\(array\\|bool\\|float\\|int\\|object\\|string\\|null\\) of method CodeIgniter\\\\Entity\\\\Cast\\\\CastInterface\\:\\:set\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Entity/Cast/CastPassParameters.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Entity\\\\CustomUser\\:\\:__construct\\(\\) has parameter \\$email with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Entity/CustomUser.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Entity\\\\CustomUser\\:\\:__get\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Entity/CustomUser.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Entity\\\\CustomUser\\:\\:reconstruct\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Entity/CustomUser.php', -]; -$ignoreErrors[] = [ - // identifier: new.static - 'message' => '#^Unsafe usage of new static\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Entity/CustomUser.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Language\\\\SecondMockLanguage\\:\\:loaded\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Language/SecondMockLanguage.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Language\\\\SecondMockLanguage\\:\\:loadem\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Language/SecondMockLanguage.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Log\\\\Handlers\\\\TestHandler\\:\\:__construct\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Log/Handlers/TestHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Log\\\\Handlers\\\\TestHandler\\:\\:getLogs\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Log/Handlers/TestHandler.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property Tests\\\\Support\\\\Log\\\\Handlers\\\\TestHandler\\:\\:\\$logs type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Log/Handlers/TestHandler.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Database\\\\ConnectionInterface\\:\\:tableExists\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/MigrationTestMigrations/Database/Migrations/2018-01-24-102302_Another_migration.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:afterDeleteMethod\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:afterDeleteMethod\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:afterFindMethod\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:afterFindMethod\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:afterInsertBatchMethod\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:afterInsertBatchMethod\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:afterInsertMethod\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:afterInsertMethod\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:afterUpdateBatchMethod\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:afterUpdateBatchMethod\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:afterUpdateMethod\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:afterUpdateMethod\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:beforeDeleteMethod\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:beforeDeleteMethod\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:beforeFindMethod\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:beforeFindMethod\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:beforeInsertBatchMethod\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:beforeInsertBatchMethod\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:beforeInsertMethod\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:beforeInsertMethod\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:beforeUpdateBatchMethod\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:beforeUpdateBatchMethod\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:beforeUpdateMethod\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:beforeUpdateMethod\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Models\\\\EventModel\\:\\:hasToken\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property Tests\\\\Support\\\\Models\\\\EventModel\\:\\:\\$beforeFindReturnData has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property Tests\\\\Support\\\\Models\\\\EventModel\\:\\:\\$eventData has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property Tests\\\\Support\\\\Models\\\\EventModel\\:\\:\\$tokens has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/EventModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property Tests\\\\Support\\\\Models\\\\JobModel\\:\\:\\$description has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/JobModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property Tests\\\\Support\\\\Models\\\\JobModel\\:\\:\\$name has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/JobModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property Tests\\\\Support\\\\Models\\\\UserModel\\:\\:\\$country has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/UserModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property Tests\\\\Support\\\\Models\\\\UserModel\\:\\:\\$email has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/UserModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property Tests\\\\Support\\\\Models\\\\UserModel\\:\\:\\$name has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Models/UserModel.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Test\\\\TestForReflectionHelper\\:\\:getPrivate\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Test/TestForReflectionHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Test\\\\TestForReflectionHelper\\:\\:getStaticPrivate\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Test/TestForReflectionHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Test\\\\TestForReflectionHelper\\:\\:privateMethod\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Test/TestForReflectionHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method Tests\\\\Support\\\\Test\\\\TestForReflectionHelper\\:\\:privateMethod\\(\\) has parameter \\$param1 with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Test/TestForReflectionHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method Tests\\\\Support\\\\Test\\\\TestForReflectionHelper\\:\\:privateMethod\\(\\) has parameter \\$param2 with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Test/TestForReflectionHelper.php', -]; -$ignoreErrors[] = [ - // identifier: method.unused - 'message' => '#^Method Tests\\\\Support\\\\Test\\\\TestForReflectionHelper\\:\\:privateMethod\\(\\) is unused\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Test/TestForReflectionHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Test\\\\TestForReflectionHelper\\:\\:privateStaticMethod\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Test/TestForReflectionHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method Tests\\\\Support\\\\Test\\\\TestForReflectionHelper\\:\\:privateStaticMethod\\(\\) has parameter \\$param1 with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Test/TestForReflectionHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method Tests\\\\Support\\\\Test\\\\TestForReflectionHelper\\:\\:privateStaticMethod\\(\\) has parameter \\$param2 with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Test/TestForReflectionHelper.php', -]; -$ignoreErrors[] = [ - // identifier: method.unused - 'message' => '#^Static method Tests\\\\Support\\\\Test\\\\TestForReflectionHelper\\:\\:privateStaticMethod\\(\\) is unused\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Test/TestForReflectionHelper.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method Tests\\\\Support\\\\Validation\\\\TestRules\\:\\:array_count\\(\\) has parameter \\$count with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Validation/TestRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method Tests\\\\Support\\\\Validation\\\\TestRules\\:\\:array_count\\(\\) has parameter \\$value with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Validation/TestRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Validation\\\\TestRules\\:\\:check_object_rule\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Validation/TestRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method Tests\\\\Support\\\\Validation\\\\TestRules\\:\\:check_object_rule\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Validation/TestRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\Validation\\\\TestRules\\:\\:customError\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/Validation/TestRules.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\View\\\\Cells\\\\ListerCell\\:\\:getItemsProperty\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/Cells/ListerCell.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property Tests\\\\Support\\\\View\\\\Cells\\\\ListerCell\\:\\:\\$items type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/Cells/ListerCell.php', -]; -$ignoreErrors[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$value might not be defined\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/Cells/addition.php', -]; -$ignoreErrors[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$message might not be defined\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/Cells/awesome_cell.php', -]; -$ignoreErrors[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$this might not be defined\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/Cells/colors.php', -]; -$ignoreErrors[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$greeting might not be defined\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/Cells/greeting.php', -]; -$ignoreErrors[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$name might not be defined\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/Cells/greeting.php', -]; -$ignoreErrors[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$items might not be defined\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/Cells/lister.php', -]; -$ignoreErrors[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$value might not be defined\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/Cells/multiplier.php', -]; -$ignoreErrors[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$message might not be defined\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/Cells/notice.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\View\\\\OtherCells\\\\SampleClass\\:\\:hello\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/OtherCells/SampleClass.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\View\\\\SampleClass\\:\\:echobox\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/SampleClass.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method Tests\\\\Support\\\\View\\\\SampleClass\\:\\:echobox\\(\\) has parameter \\$params with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/SampleClass.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\View\\\\SampleClass\\:\\:hello\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/SampleClass.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\View\\\\SampleClass\\:\\:index\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/SampleClass.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\View\\\\SampleClass\\:\\:staticEcho\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/SampleClass.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method Tests\\\\Support\\\\View\\\\SampleClass\\:\\:staticEcho\\(\\) has parameter \\$params with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/SampleClass.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\View\\\\SampleClass\\:\\:work\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/SampleClass.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method Tests\\\\Support\\\\View\\\\SampleClass\\:\\:work\\(\\) has parameter \\$p1 with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/SampleClass.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method Tests\\\\Support\\\\View\\\\SampleClass\\:\\:work\\(\\) has parameter \\$p2 with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/SampleClass.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method Tests\\\\Support\\\\View\\\\SampleClass\\:\\:work\\(\\) has parameter \\$p4 with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/SampleClass.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method Tests\\\\Support\\\\View\\\\SampleClassWithInitController\\:\\:index\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/SampleClassWithInitController.php', -]; -$ignoreErrors[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$testString might not be defined\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/View/Views/simple.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method App\\\\Controllers\\\\Mycontroller\\:\\:getSomemethod\\(\\) has parameter \\$first with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/_controller/Mycontroller.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method App\\\\Controllers\\\\foo\\\\bar\\\\baz\\\\Some_controller\\:\\:some_method\\(\\) has parameter \\$first with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/_support/_controller/foo/bar/baz/Some_controller.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning string directly on offset \'CONTENT_TYPE\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\API\\\\ResponseTraitTest\\:\\:createRequestAndResponse\\(\\) has parameter \\$userHeaders with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\API\\\\ResponseTraitTest\\:\\:invoke\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\API\\\\ResponseTraitTest\\:\\:invoke\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\API\\\\ResponseTraitTest\\:\\:makeController\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\API\\\\ResponseTraitTest\\:\\:makeController\\(\\) has parameter \\$userHeaders with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:116\\:\\:__construct\\(\\) has parameter \\$formatter with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:116\\:\\:__construct\\(\\) has parameter \\$request with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:116\\:\\:__construct\\(\\) has parameter \\$response with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:116\\:\\:fail\\(\\) has parameter \\$messages with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:116\\:\\:format\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:116\\:\\:respond\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:116\\:\\:respondCreated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:116\\:\\:respondDeleted\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:116\\:\\:respondUpdated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:177\\:\\:__construct\\(\\) has parameter \\$formatter with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:177\\:\\:__construct\\(\\) has parameter \\$request with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:177\\:\\:__construct\\(\\) has parameter \\$response with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:177\\:\\:fail\\(\\) has parameter \\$messages with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:177\\:\\:format\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:177\\:\\:respond\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:177\\:\\:respondCreated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:177\\:\\:respondDeleted\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:177\\:\\:respondUpdated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:299\\:\\:__construct\\(\\) has parameter \\$formatter with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:299\\:\\:__construct\\(\\) has parameter \\$request with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:299\\:\\:__construct\\(\\) has parameter \\$response with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:299\\:\\:fail\\(\\) has parameter \\$messages with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:299\\:\\:format\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:299\\:\\:respond\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:299\\:\\:respondCreated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:299\\:\\:respondDeleted\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:299\\:\\:respondUpdated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:639\\:\\:__construct\\(\\) has parameter \\$request with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:639\\:\\:__construct\\(\\) has parameter \\$response with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:639\\:\\:fail\\(\\) has parameter \\$messages with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:639\\:\\:format\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:639\\:\\:respond\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:639\\:\\:respondCreated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:639\\:\\:respondDeleted\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:639\\:\\:respondUpdated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:116\\:\\:\\$formatter has no type specified\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:116\\:\\:\\$request has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:116\\:\\:\\$response has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:177\\:\\:\\$formatter has no type specified\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:177\\:\\:\\$request has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:177\\:\\:\\$response has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:299\\:\\:\\$formatter has no type specified\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:299\\:\\:\\$request has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:299\\:\\:\\$response has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:639\\:\\:\\$format \\(\'html\'\\|\'json\'\\|\'xml\'\\|null\\) does not accept \'txt\'\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:639\\:\\:\\$request has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/API/ResponseTraitTest\\.php\\:639\\:\\:\\$response has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/API/ResponseTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\AutoReview\\\\ComposerJsonTest\\:\\:checkConfig\\(\\) has parameter \\$fromComponent with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/AutoReview/ComposerJsonTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\AutoReview\\\\ComposerJsonTest\\:\\:checkConfig\\(\\) has parameter \\$fromMain with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/AutoReview/ComposerJsonTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\AutoReview\\\\ComposerJsonTest\\:\\:getComposerJson\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/AutoReview/ComposerJsonTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\AutoReview\\\\ComposerJsonTest\\:\\:\\$devComposer type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/AutoReview/ComposerJsonTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\AutoReview\\\\ComposerJsonTest\\:\\:\\$frameworkComposer type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/AutoReview/ComposerJsonTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\AutoReview\\\\ComposerJsonTest\\:\\:\\$starterComposer type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/AutoReview/ComposerJsonTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\AutoReview\\\\FrameworkCodeTest\\:\\:getTestClasses\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/AutoReview/FrameworkCodeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\AutoReview\\\\FrameworkCodeTest\\:\\:provideEachTestClassHasCorrectGroupAttributeName\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/AutoReview/FrameworkCodeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\AutoReview\\\\FrameworkCodeTest\\:\\:\\$recognizedGroupAttributeNames type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/AutoReview/FrameworkCodeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\AutoReview\\\\FrameworkCodeTest\\:\\:\\$testClasses type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/AutoReview/FrameworkCodeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Autoloader\\\\AutoloaderTest\\:\\:getPrivateMethodInvoker\\(\\) return type has no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Autoloader/AutoloaderTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Autoloader\\\\AutoloaderTest\\:\\:setPrivateProperty\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Autoloader/AutoloaderTest.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Autoloader/AutoloaderTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Autoloader\\\\FileLocatorInterface\\:\\:__destruct\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Autoloader/FileLocatorCachedTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Autoloader\\\\FileLocatorInterface\\:\\:deleteCache\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Autoloader/FileLocatorCachedTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning 3 directly on offset \'argc\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CLI/CLITest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'ignored\', \'b\', \'c\', \'\\-\\-parm\', \'pvalue\', \'d\', \'\\-\\-p2\', \'\\-\\-p3\', \'value 3\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CLI/CLITest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'ignored\', \'b\', \'c\', \'\\-\\-parm\', \'pvalue\', \'d\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CLI/CLITest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'ignored\', \'b\', \'c\', \'d\', \'\\-\\-parm\', \'pvalue\', \'d2\', \'da\\-sh\', \'\\-\\-fix\', \'\\-\\-opt\\-in\', \'sure\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CLI/CLITest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'ignored\', \'b\', \'c\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CLI/CLITest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLITest\\:\\:provideTable\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CLI/CLITest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLITest\\:\\:testTable\\(\\) has parameter \\$expected with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CLI/CLITest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLITest\\:\\:testTable\\(\\) has parameter \\$tbody with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CLI/CLITest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\CLITest\\:\\:testTable\\(\\) has parameter \\$thead with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CLI/CLITest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'app\\.baseURL\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CLI/ConsoleTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'argv\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CLI/ConsoleTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'http\\://example\\.com/\' directly on offset \'app\\.baseURL\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CLI/ConsoleTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning int\\<1, max\\> directly on offset \'argc\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CLI/ConsoleTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning non\\-empty\\-array\\ directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CLI/ConsoleTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CLI\\\\ConsoleTest\\:\\:initCLI\\(\\) has parameter \\$command with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CLI/ConsoleTest.php', -]; -$ignoreErrors[] = [ - // identifier: phpDoc.parseError - 'message' => '#^PHPDoc tag @var has invalid value \\(@var FileVarExportHandler\\|CacheInterface\\)\\: Unexpected token "@var", expected type at offset 16$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/FactoriesCacheFileHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Config\\\\BaseConfig\\:\\:\\$baseURL\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/FactoriesCacheFileVarExportHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\BaseHandlerTest\\:\\:provideValidateKeyInvalidType\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/Handlers/BaseHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.cacheHandlerInstance - 'message' => '#^Calling new DummyHandler\\(\\) directly is incomplete to get the cache instance\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/Handlers/DummyHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.cacheHandlerInstance - 'message' => '#^Calling new BaseTestFileHandler\\(\\) directly is incomplete to get the cache instance\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/Handlers/FileHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.cacheHandlerInstance - 'message' => '#^Calling new FileHandler\\(\\) directly is incomplete to get the cache instance\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/Cache/Handlers/FileHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\BaseTestFileHandler\\:\\:getFileInfoTest\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/Handlers/FileHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandlerTest\\:\\:getKeyArray\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/Handlers/FileHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\FileHandlerTest\\:\\:provideSaveMode\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/Handlers/FileHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.cacheHandlerInstance - 'message' => '#^Calling new MemcachedHandler\\(\\) directly is incomplete to get the cache instance\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Cache/Handlers/MemcachedHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\MemcachedHandlerTest\\:\\:getKeyArray\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/Handlers/MemcachedHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.cacheHandlerInstance - 'message' => '#^Calling new PredisHandler\\(\\) directly is incomplete to get the cache instance\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Cache/Handlers/PredisHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\PredisHandlerTest\\:\\:getKeyArray\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/Handlers/PredisHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.cacheHandlerInstance - 'message' => '#^Calling new RedisHandler\\(\\) directly is incomplete to get the cache instance\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Cache/Handlers/RedisHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Cache\\\\Handlers\\\\RedisHandlerTest\\:\\:getKeyArray\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/Handlers/RedisHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/ResponseCacheTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'public/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/ResponseCacheTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning non\\-empty\\-array\\ directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/ResponseCacheTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning non\\-falsy\\-string directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/ResponseCacheTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cache\\\\ResponseCacheTest\\:\\:createIncomingRequest\\(\\) has parameter \\$query with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cache/ResponseCacheTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.getReassignArray - 'message' => '#^Re\\-assigning arrays to \\$_GET directly is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Cache/ResponseCacheTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/cannotFound\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/cli\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/example\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 6, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/image\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 20, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/pages/about\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 8, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/test\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'CLI\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'GET\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'HTTP/1\\.1\' directly on offset \'SERVER_PROTOCOL\' of \\$_SERVER is discouraged\\.$#', - 'count' => 8, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'HTTP/2\\.0\' directly on offset \'SERVER_PROTOCOL\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'HTTP/3\\.0\' directly on offset \'SERVER_PROTOCOL\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'POST\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'public/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning 1 directly on offset \'argc\' of \\$_SERVER is discouraged\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning 2 directly on offset \'argc\' of \\$_SERVER is discouraged\\.$#', - 'count' => 27, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'/\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 12, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'cli\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'example\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 6, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'image\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'pages/about\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 7, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning non\\-falsy\\-string directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\ResponseInterface\\:\\:pretend\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CodeIgniterTest\\:\\:providePageCacheWithCacheQueryString\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CodeIgniterTest\\:\\:testPageCacheWithCacheQueryString\\(\\) has parameter \\$cacheQueryStringValue with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CodeIgniterTest\\:\\:testPageCacheWithCacheQueryString\\(\\) has parameter \\$testingUrls with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$to of method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:add\\(\\) expects array\\|\\(Closure\\(mixed \\.\\.\\.\\)\\: \\(CodeIgniter\\\\HTTP\\\\ResponseInterface\\|string\\|void\\)\\)\\|string, Closure\\(mixed\\)\\: \\(CodeIgniter\\\\HTTP\\\\DownloadResponse\\|null\\) given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$to of method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:add\\(\\) expects array\\|\\(Closure\\(mixed \\.\\.\\.\\)\\: \\(CodeIgniter\\\\HTTP\\\\ResponseInterface\\|string\\|void\\)\\)\\|string, Closure\\(mixed\\)\\: CodeIgniter\\\\HTTP\\\\ResponseInterface given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$to of method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:add\\(\\) expects array\\|\\(Closure\\(mixed \\.\\.\\.\\)\\: \\(CodeIgniter\\\\HTTP\\\\ResponseInterface\\|string\\|void\\)\\)\\|string, Closure\\(mixed\\)\\: non\\-falsy\\-string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$to of method CodeIgniter\\\\Router\\\\RouteCollection\\:\\:add\\(\\) expects array\\|\\(Closure\\(mixed \\.\\.\\.\\)\\: \\(CodeIgniter\\\\HTTP\\\\ResponseInterface\\|string\\|void\\)\\)\\|string, Closure\\(mixed\\)\\: void given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CodeIgniterTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property Tests\\\\Support\\\\Commands\\\\AppInfo\\:\\:\\$foobar\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/BaseCommandTest.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/CellGeneratorTest.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/CommandGeneratorTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\CommandTest\\:\\:provideCommandParsesArgsCorrectly\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/CommandTest.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/ControllerGeneratorTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Commands\\\\CreateDatabaseTest\\:\\:getBuffer\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/CreateDatabaseTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'production\' directly on offset \'CI_ENVIRONMENT\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/EnvironmentCommandTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning string directly on offset \'CI_ENVIRONMENT\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/EnvironmentCommandTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Commands\\\\FilterCheckTest\\:\\:getBuffer\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/FilterCheckTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'encryption\\.key\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/GenerateKeyTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Commands\\\\HelpCommandTest\\:\\:getBuffer\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/HelpCommandTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Commands\\\\InfoCacheTest\\:\\:getBuffer\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/InfoCacheTest.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/ModelGeneratorTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Commands\\\\RoutesTest\\:\\:getBuffer\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/RoutesTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$mock of static method CodeIgniter\\\\Config\\\\BaseService\\:\\:injectMock\\(\\) expects object, null given\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/tests/system/Commands/RoutesTest.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/ScaffoldGeneratorTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Translation\\\\LocalizationFinderTest\\:\\:getActualTranslationFourKeys\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/Translation/LocalizationFinderTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Translation\\\\LocalizationFinderTest\\:\\:getActualTranslationOneKeys\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/Translation/LocalizationFinderTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Translation\\\\LocalizationFinderTest\\:\\:getActualTranslationThreeKeys\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/Translation/LocalizationFinderTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\ConfigCheckTest\\:\\:getBuffer\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/Utilities/ConfigCheckTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\NamespacesTest\\:\\:getBuffer\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/Utilities/NamespacesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\AutoRouteCollectorTest\\:\\:createAutoRouteCollector\\(\\) has parameter \\$filterConfigFilters with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollectorTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\Controllers\\\\Dash_folder\\\\Dash_controller\\:\\:getDash_method\\(\\) has parameter \\$p1 with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/Utilities/Routes/AutoRouterImproved/Controllers/Dash_folder/Dash_controller.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\Controllers\\\\Dash_folder\\\\Dash_controller\\:\\:getDash_method\\(\\) has parameter \\$p2 with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/Utilities/Routes/AutoRouterImproved/Controllers/Dash_folder/Dash_controller.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\Controllers\\\\Dash_folder\\\\Dash_controller\\:\\:getSomemethod\\(\\) has parameter \\$p1 with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/Utilities/Routes/AutoRouterImproved/Controllers/Dash_folder/Dash_controller.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\AutoRouterImproved\\\\Controllers\\\\SubDir\\\\BlogController\\:\\:getSomeMethod\\(\\) has parameter \\$first with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/Utilities/Routes/AutoRouterImproved/Controllers/SubDir/BlogController.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\FilterFinderTest\\:\\:createFilters\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/Utilities/Routes/FilterFinderTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\FilterFinderTest\\:\\:createRouteCollection\\(\\) has parameter \\$routes with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/Utilities/Routes/FilterFinderTest.php', -]; -$ignoreErrors[] = [ - // identifier: return.type - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\FilterFinderTest\\:\\:createRouteCollection\\(\\) should return CodeIgniter\\\\Router\\\\RouteCollection but returns CodeIgniter\\\\Router\\\\RouteCollectionInterface\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/Utilities/Routes/FilterFinderTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\FilterFinderTest\\:\\:\\$response \\(CodeIgniter\\\\HTTP\\\\Response\\) does not accept CodeIgniter\\\\HTTP\\\\ResponseInterface\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/Utilities/Routes/FilterFinderTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Commands\\\\Utilities\\\\Routes\\\\SampleURIGeneratorTest\\:\\:provideGet\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Commands/Utilities/Routes/SampleURIGeneratorTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'foo\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonFunctionsSendTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'foo\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonFunctionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.modelArgumentInstanceof - 'message' => '#^Argument \\#1 \\$name \\(\'CodeIgniter\\\\\\\\UnexsistenceClass\'\\) passed to function model does not extend CodeIgniter\\\\\\\\Model\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonFunctionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'GET\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/tests/system/CommonFunctionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'bar\' directly on offset \'foo\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonFunctionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: class.notFound - 'message' => '#^Class CodeIgniter\\\\UnexsistenceClass not found\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonFunctionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CommonFunctionsTest\\:\\:provideCleanPathActuallyCleaningThePaths\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonFunctionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.modelArgumentType - 'message' => '#^Parameter \\#1 \\$name of function model expects a valid class string, \'JobModel\' given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonFunctionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$context of function esc expects \'attr\'\\|\'css\'\\|\'html\'\\|\'js\'\\|\'raw\'\\|\'url\', \'0\' given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonFunctionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$context of function esc expects \'attr\'\\|\'css\'\\|\'html\'\\|\'js\'\\|\'raw\'\\|\'url\', \'bogus\' given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonFunctionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.getReassignArray - 'message' => '#^Re\\-assigning arrays to \\$_GET directly is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/CommonFunctionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: function.notFound - 'message' => '#^Function foo_bar_baz not found\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: function.inner - 'message' => '#^Inner named functions are not supported by PHPStan\\. Consider refactoring to an anonymous function, class method, or a top\\-level\\-defined function\\. See issue \\#165 \\(https\\://github\\.com/phpstan/phpstan/issues/165\\) for more details\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\CommonHelperTest\\:\\:\\$dummyHelpers type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.unknownServiceMethod - 'message' => '#^Call to unknown service method \'bar\'\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonSingleServiceTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.unknownServiceMethod - 'message' => '#^Call to unknown service method \'baz\'\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonSingleServiceTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.unknownServiceMethod - 'message' => '#^Call to unknown service method \'caches\'\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonSingleServiceTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.unknownServiceMethod - 'message' => '#^Call to unknown service method \'foo\'\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonSingleServiceTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.unknownServiceMethod - 'message' => '#^Call to unknown service method \'timers\'\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonSingleServiceTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.unknownServiceMethod - 'message' => '#^Call to unknown service method string\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/tests/system/CommonSingleServiceTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\CommonSingleServiceTest\\:\\:provideServiceNames\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/CommonSingleServiceTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'BAR\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/DotEnvTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'FOO\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/DotEnvTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'NULL\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/DotEnvTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'SPACED\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/DotEnvTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'SimpleConfig_simple_name\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/DotEnvTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'TT\' directly on offset \'SER_VAR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/DotEnvTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\DotEnvTest\\:\\:provideLoadsVars\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/DotEnvTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$file of class CodeIgniter\\\\Config\\\\DotEnv constructor expects string, int given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/DotEnvTest.php', -]; -$ignoreErrors[] = [ - // identifier: staticMethod.notFound - 'message' => '#^Call to an undefined static method CodeIgniter\\\\Config\\\\Factories\\:\\:cells\\(\\)\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Config/FactoriesTest.php', -]; -$ignoreErrors[] = [ - // identifier: staticMethod.notFound - 'message' => '#^Call to an undefined static method CodeIgniter\\\\Config\\\\Factories\\:\\:tedwigs\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/FactoriesTest.php', -]; -$ignoreErrors[] = [ - // identifier: staticMethod.notFound - 'message' => '#^Call to an undefined static method CodeIgniter\\\\Config\\\\Factories\\:\\:widgets\\(\\)\\.$#', - 'count' => 13, - 'path' => __DIR__ . '/tests/system/Config/FactoriesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Config\\\\FactoriesTest\\:\\:getFactoriesStaticProperty\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/FactoriesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Config\\\\FactoriesTest\\:\\:getFactoriesStaticProperty\\(\\) has parameter \\$params with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/FactoriesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Config\\\\FactoriesTest\\:\\:testGetComponentInstances\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/FactoriesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\FactoriesTest\\:\\:testIsUpdated\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/FactoriesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Config\\\\FactoriesTest\\:\\:testSetComponentInstances\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/FactoriesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\FactoriesTest\\:\\:testSetComponentInstances\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/FactoriesTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$expected of method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) expects class\\-string\\, string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/FactoriesTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.modelArgumentType - 'message' => '#^Parameter \\#1 \\$name of function model expects a valid class string, \'CodeIgniter\\\\\\\\Shield\\\\\\\\Models\\\\\\\\UserModel\' given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/FactoriesTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#3 \\$classname of static method CodeIgniter\\\\Config\\\\Factories\\:\\:define\\(\\) expects class\\-string, string given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Config/FactoriesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Config/FactoriesTest\\.php\\:89\\:\\:\\$widgets has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/FactoriesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\MimesTest\\:\\:provideGuessExtensionFromType\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/MimesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Config\\\\MimesTest\\:\\:provideGuessTypeFromExtension\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/MimesTest.php', -]; -$ignoreErrors[] = [ - // identifier: staticMethod.notFound - 'message' => '#^Call to an undefined static method Tests\\\\Support\\\\Config\\\\Services\\:\\:SeSsIoN\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/ServicesTest.php', -]; -$ignoreErrors[] = [ - // identifier: staticMethod.notFound - 'message' => '#^Call to an undefined static method Tests\\\\Support\\\\Config\\\\Services\\:\\:SeSsIoNs\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/ServicesTest.php', -]; -$ignoreErrors[] = [ - // identifier: staticMethod.notFound - 'message' => '#^Call to an undefined static method Tests\\\\Support\\\\Config\\\\Services\\:\\:redirectResponse\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/ServicesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Config\\\\ServicesTest\\:\\:\\$original type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/ServicesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property RegistrarConfig\\:\\:\\$bar has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/RegistrarConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property RegistrarConfig\\:\\:\\$foo has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/RegistrarConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$FOO has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$QEMPTYSTR has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$QFALSE has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$QZERO has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$QZEROSTR has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$alpha has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$bravo has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$charlie has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$crew has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$default has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$delta has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$dessert has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$echo has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$first has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$float has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$foxtrot has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$fruit has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$golf has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$int has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$longie has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$one_deep has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$onedeep has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$onedeep_value has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$password has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$second has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$shortie has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property SimpleConfig\\:\\:\\$simple has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Config/fixtures/SimpleConfig.php', -]; -$ignoreErrors[] = [ - // identifier: catch.neverThrown - 'message' => '#^Dead catch \\- CodeIgniter\\\\HTTP\\\\Exceptions\\\\RedirectException is never thrown in the try block\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/ControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$cookies of class CodeIgniter\\\\Cookie\\\\CookieStore constructor expects array\\, array\\ given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cookie/CookieStoreTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Cookie\\\\CookieStoreTest\\:\\:\\$defaults type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cookie/CookieStoreTest.php', -]; -$ignoreErrors[] = [ - // identifier: expr.resultUnused - 'message' => '#^Expression "\\$cookie\\[\'expiry\'\\]" on a separate line does not do anything\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cookie/CookieTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cookie\\\\CookieTest\\:\\:provideConfigPrefix\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cookie/CookieTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cookie\\\\CookieTest\\:\\:provideInvalidExpires\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cookie/CookieTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cookie\\\\CookieTest\\:\\:provideSetCookieHeaderCreation\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cookie/CookieTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Cookie\\\\CookieTest\\:\\:testSetCookieHeaderCreation\\(\\) has parameter \\$changed with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cookie/CookieTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#3 \\$options of class CodeIgniter\\\\Cookie\\\\Cookie constructor expects array\\, array\\ given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cookie/CookieTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Cookie\\\\CookieTest\\:\\:\\$defaults type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Cookie/CookieTest.php', -]; -$ignoreErrors[] = [ - // identifier: variable.implicitArray - 'message' => '#^Implicit array creation is not allowed \\- variable \\$array does not exist\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/DataConverter/DataConverterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\DataConverter\\\\DataConverterTest\\:\\:createDataConverter\\(\\) has parameter \\$extractor with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/DataConverter/DataConverterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\DataConverter\\\\DataConverterTest\\:\\:createDataConverter\\(\\) has parameter \\$handlers with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/DataConverter/DataConverterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\DataConverter\\\\DataConverterTest\\:\\:createDataConverter\\(\\) has parameter \\$reconstructor with no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/DataConverter/DataConverterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\DataConverter\\\\DataConverterTest\\:\\:createDataConverter\\(\\) has parameter \\$types with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/DataConverter/DataConverterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\DataConverter\\\\DataConverterTest\\:\\:provideConvertDataFromDB\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/DataConverter/DataConverterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\DataConverter\\\\DataConverterTest\\:\\:provideConvertDataToDB\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/DataConverter/DataConverterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\DataConverter\\\\DataConverterTest\\:\\:testConvertDataFromDB\\(\\) has parameter \\$dbData with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/DataConverter/DataConverterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\DataConverter\\\\DataConverterTest\\:\\:testConvertDataFromDB\\(\\) has parameter \\$expected with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/DataConverter/DataConverterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\DataConverter\\\\DataConverterTest\\:\\:testConvertDataFromDB\\(\\) has parameter \\$types with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/DataConverter/DataConverterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\DataConverter\\\\DataConverterTest\\:\\:testConvertDataToDB\\(\\) has parameter \\$expected with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/DataConverter/DataConverterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\DataConverter\\\\DataConverterTest\\:\\:testConvertDataToDB\\(\\) has parameter \\$phpData with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/DataConverter/DataConverterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\DataConverter\\\\DataConverterTest\\:\\:testConvertDataToDB\\(\\) has parameter \\$types with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/DataConverter/DataConverterTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Test\\\\Mock\\\\MockConnection\\:\\:\\$foobar\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/BaseConnectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseConnectionTest\\:\\:provideProtectIdentifiers\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/BaseConnectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseConnectionTest\\:\\:\\$failoverOptions type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/BaseConnectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Database\\\\BaseConnectionTest\\:\\:\\$options type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/BaseConnectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseQueryTest\\:\\:provideHighlightQueryKeywords\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/BaseQueryTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Database\\\\BaseQueryTest\\:\\:provideIsWriteType\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/BaseQueryTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$from of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:from\\(\\) expects array\\|string, null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Builder/FromTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#3 \\$subject of function str_replace expects array\\|string, CodeIgniter\\\\Database\\\\ResultInterface given\\.$#', - 'count' => 10, - 'path' => __DIR__ . '/tests/system/Database/Builder/GetTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#3 \\$subject of function str_replace expects array\\|string, CodeIgniter\\\\Database\\\\ResultInterface\\|false given\\.$#', - 'count' => 6, - 'path' => __DIR__ . '/tests/system/Database/Builder/GetTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - 'message' => '#^PHPDoc type CodeIgniter\\\\Test\\\\Mock\\\\MockConnection of property CodeIgniter\\\\Database\\\\Builder\\\\InsertTest\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection of overridden property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$db\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Builder/InsertTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - 'message' => '#^PHPDoc type CodeIgniter\\\\Test\\\\Mock\\\\MockConnection of property CodeIgniter\\\\Database\\\\Builder\\\\UnionTest\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection of overridden property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$db\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Builder/UnionTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - 'message' => '#^PHPDoc type CodeIgniter\\\\Test\\\\Mock\\\\MockConnection of property CodeIgniter\\\\Database\\\\Builder\\\\UpdateTest\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection of overridden property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$db\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Builder/UpdateTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - 'message' => '#^PHPDoc type CodeIgniter\\\\Test\\\\Mock\\\\MockConnection of property CodeIgniter\\\\Database\\\\Builder\\\\WhenTest\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection of overridden property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$db\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Builder/WhenTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Database\\\\Builder\\\\WhereTest\\:\\:provideWhereInEmptyValuesThrowInvalidArgumentException\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Builder/WhereTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Database\\\\Builder\\\\WhereTest\\:\\:provideWhereInvalidKeyThrowInvalidArgumentException\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Builder/WhereTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - 'message' => '#^PHPDoc type CodeIgniter\\\\Test\\\\Mock\\\\MockConnection of property CodeIgniter\\\\Database\\\\Builder\\\\WhereTest\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection of overridden property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$db\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Builder/WhereTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Database\\\\ConfigTest\\:\\:getPrivateMethodInvoker\\(\\) return type has no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/ConfigTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Database\\\\ConfigTest\\:\\:provideConvertDSN\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/ConfigTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Database\\\\ConfigTest\\:\\:setPrivateProperty\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/ConfigTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Database\\\\ConfigTest\\:\\:\\$dsnGroup type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/ConfigTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Database\\\\ConfigTest\\:\\:\\$dsnGroupPostgre type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/ConfigTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Database\\\\ConfigTest\\:\\:\\$dsnGroupPostgreNative type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/ConfigTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Database\\\\ConfigTest\\:\\:\\$group type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/ConfigTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Database\\\\DatabaseTestCase\\\\DatabaseTestCaseMigrationOnce1Test\\:\\:\\$namespace type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/DatabaseTestCase/DatabaseTestCaseMigrationOnce1Test.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Database\\\\DatabaseTestCase\\\\DatabaseTestCaseMigrationOnce2Test\\:\\:\\$namespace type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/DatabaseTestCase/DatabaseTestCaseMigrationOnce2Test.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - 'message' => '#^PHPDoc type array\\|string of property CodeIgniter\\\\Database\\\\DatabaseTestCaseTest\\:\\:\\$seed is not the same as PHPDoc type array\\\\>\\|class\\-string\\ of overridden property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$seed\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/DatabaseTestCaseTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Database\\\\DatabaseTestCaseTest\\:\\:\\$namespace type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/DatabaseTestCaseTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Database\\\\DatabaseTestCaseTest\\:\\:\\$seed type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/DatabaseTestCaseTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Database\\\\Live\\\\ConnectTest\\:\\:\\$group1 has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/ConnectTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Database\\\\Live\\\\ConnectTest\\:\\:\\$group2 has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/ConnectTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Database\\\\Live\\\\ConnectTest\\:\\:\\$tests has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/ConnectTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:escapeLikeStringDirect\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/EscapeTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$name on array\\|object\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/FabricatorLiveTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$fields of method CodeIgniter\\\\Database\\\\Forge\\:\\:addField\\(\\) expects array\\\\|string, array\\ given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Database/Live/ForgeTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$currentRow on CodeIgniter\\\\Database\\\\ResultInterface\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/GetTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$name on array\\|object\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/tests/system/Database/Live/GetTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$resultID on CodeIgniter\\\\Database\\\\ResultInterface\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/GetTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Database/Live/GetTest\\.php\\:256\\:\\:\\$country has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/GetTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Database/Live/GetTest\\.php\\:256\\:\\:\\$created_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/GetTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Database/Live/GetTest\\.php\\:256\\:\\:\\$deleted_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/GetTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Database/Live/GetTest\\.php\\:256\\:\\:\\$email has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/GetTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Database/Live/GetTest\\.php\\:256\\:\\:\\$id has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/GetTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Database/Live/GetTest\\.php\\:256\\:\\:\\$name has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/GetTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Database/Live/GetTest\\.php\\:256\\:\\:\\$updated_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/GetTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.nameCase - 'message' => '#^Call to method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:getWhere\\(\\) with incorrect case\\: getwhere$#', - 'count' => 4, - 'path' => __DIR__ . '/tests/system/Database/Live/InsertTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - 'message' => '#^PHPDoc type string of property CodeIgniter\\\\Database\\\\Live\\\\MetadataTest\\:\\:\\$seed is not the same as PHPDoc type array\\\\>\\|class\\-string\\ of overridden property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$seed\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/MetadataTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Database\\\\Live\\\\MetadataTest\\:\\:\\$expectedTables type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/MetadataTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$numberNative\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Database/Live/MySQLi/NumberNativeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property CodeIgniter\\\\Database\\\\Live\\\\MySQLi\\\\NumberNativeTest\\:\\:\\$tests has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/MySQLi/NumberNativeTest.php', -]; -$ignoreErrors[] = [ - // identifier: class.nameCase - 'message' => '#^Class stdClass referenced with incorrect case\\: stdclass\\.$#', - 'count' => 9, - 'path' => __DIR__ . '/tests/system/Database/Live/MySQLi/RawSqlTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:getCursor\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/OCI8/CallStoredProcedureTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Database\\\\BaseConnection\\:\\:storedProcedure\\(\\)\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Database/Live/OCI8/CallStoredProcedureTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$schema\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/OrderTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$schema\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/PreparedQueryTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$db of class CodeIgniter\\\\Database\\\\SQLite3\\\\Table constructor expects CodeIgniter\\\\Database\\\\SQLite3\\\\Connection, CodeIgniter\\\\Database\\\\BaseConnection given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/SQLite3/AlterTableTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$forge of class CodeIgniter\\\\Database\\\\SQLite3\\\\Table constructor expects CodeIgniter\\\\Database\\\\SQLite3\\\\Forge, CodeIgniter\\\\Database\\\\Forge given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/SQLite3/AlterTableTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\Database\\\\Live\\\\SQLite3\\\\AlterTableTest\\:\\:\\$forge \\(CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\) does not accept CodeIgniter\\\\Database\\\\Forge\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/SQLite3/AlterTableTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - 'message' => '#^PHPDoc type CodeIgniter\\\\Database\\\\SQLite3\\\\Connection of property CodeIgniter\\\\Database\\\\Live\\\\SQLite3\\\\GetIndexDataTest\\:\\:\\$db is not the same as PHPDoc type CodeIgniter\\\\Database\\\\BaseConnection of overridden property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$db\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/SQLite3/GetIndexDataTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\Database\\\\Live\\\\SQLite3\\\\GetIndexDataTest\\:\\:\\$db \\(CodeIgniter\\\\Database\\\\SQLite3\\\\Connection\\) does not accept CodeIgniter\\\\Database\\\\BaseConnection\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Database/Live/SQLite3/GetIndexDataTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\Database\\\\Live\\\\SQLite3\\\\GetIndexDataTest\\:\\:\\$forge \\(CodeIgniter\\\\Database\\\\SQLite3\\\\Forge\\) does not accept CodeIgniter\\\\Database\\\\Forge\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/SQLite3/GetIndexDataTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Database\\\\Live\\\\UpdateTest\\:\\:provideUpdateBatch\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/UpdateTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Database\\\\Live\\\\UpdateTest\\:\\:testUpdateBatch\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/UpdateTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Database\\\\Live\\\\UpdateTest\\:\\:testUpdateBatch\\(\\) has parameter \\$expected with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Live/UpdateTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.nameCase - 'message' => '#^Call to method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:getWhere\\(\\) with incorrect case\\: getwhere$#', - 'count' => 9, - 'path' => __DIR__ . '/tests/system/Database/Live/UpsertTest.php', -]; -$ignoreErrors[] = [ - // identifier: class.nameCase - 'message' => '#^Class stdClass referenced with incorrect case\\: stdclass\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/Database/Live/UpsertTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$set of method CodeIgniter\\\\Database\\\\BaseBuilder\\:\\:updateFields\\(\\) expects array\\\\|string, array\\ given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Database/Live/UpsertTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Database\\\\BaseConnection\\:\\:\\$schema\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Database/Migrations/MigrationRunnerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Database\\\\Migrations\\\\MigrationRunnerTest\\:\\:resetTables\\(\\) has parameter \\$db with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Migrations/MigrationRunnerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Database\\\\Migrations\\\\MigrationRunnerTest\\:\\:\\$namespace type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Database/Migrations/MigrationRunnerTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\ResponseInterface\\:\\:pretend\\(\\)\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Debug/ExceptionHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Debug\\\\ExceptionHandlerTest\\:\\:backupIniValues\\(\\) has parameter \\$keys with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Debug/ExceptionHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Debug\\\\ExceptionHandlerTest\\:\\:\\$iniSettings type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Debug/ExceptionHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'CODEIGNITER_SCREAM_DEPRECATIONS\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Debug/ExceptionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'1\' directly on offset \'CODEIGNITER_SCREAM_DEPRECATIONS\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Debug/ExceptionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: function.resultUnused - 'message' => '#^Call to function strlen\\(\\) on a separate line has no effect\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Debug/ExceptionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.frameworkExceptionInstance - 'message' => '#^Instantiating CastException using new is not allowed\\. Use one of its named constructors instead\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Debug/ExceptionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Debug\\\\ExceptionsTest\\:\\:getPrivateMethodInvoker\\(\\) return type has no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Debug/ExceptionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Debug\\\\ExceptionsTest\\:\\:setPrivateProperty\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Debug/ExceptionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$callable of method CodeIgniter\\\\Debug\\\\Timer\\:\\:record\\(\\) expects callable\\(\\)\\: mixed, \'strlen\' given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Debug/TimerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.frameworkExceptionInstance - 'message' => '#^Instantiating FrameworkException using new is not allowed\\. Use one of its named constructors instead\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/DebugTraceableTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Email\\\\EmailTest\\:\\:provideEmailSendWithClearance\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Email/EmailTest.php', -]; -$ignoreErrors[] = [ - // identifier: booleanNot.exprNotBoolean - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Email/EmailTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Encryption\\\\EncrypterInterface\\:\\:\\$key\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Encryption/EncryptionTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Encryption\\\\Encryption\\:\\:\\$bogus\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Encryption/EncryptionTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.protected - 'message' => '#^Access to protected property CodeIgniter\\\\Encryption\\\\Encryption\\:\\:\\$digest\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Encryption/EncryptionTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.protected - 'message' => '#^Access to protected property CodeIgniter\\\\Encryption\\\\Encryption\\:\\:\\$key\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Encryption/EncryptionTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'encryption\\.key\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Encryption/EncryptionTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Encryption\\\\EncrypterInterface\\:\\:\\$cipher\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Encryption/Handlers/OpenSSLHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Encryption\\\\EncrypterInterface\\:\\:\\$key\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Encryption/Handlers/OpenSSLHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Encryption\\\\EncrypterInterface\\:\\:\\$blockSize\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Encryption/Handlers/SodiumHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Encryption\\\\EncrypterInterface\\:\\:\\$driver\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Encryption/Handlers/SodiumHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Encryption\\\\EncrypterInterface\\:\\:\\$key\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Encryption/Handlers/SodiumHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property object\\:\\:\\$bar\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Entity/EntityTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method object\\:\\:toRawArray\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Entity/EntityTest.php', -]; -$ignoreErrors[] = [ - // identifier: expr.resultUnused - 'message' => '#^Expression "\\$entity\\-\\>ninth" on a separate line does not do anything\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Entity/EntityTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Entity\\\\EntityTest\\:\\:getCastEntity\\(\\) has parameter \\$data with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Entity/EntityTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Entity\\\\EntityTest\\:\\:getCastNullableEntity\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Entity/EntityTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Entity\\\\EntityTest\\:\\:getCustomCastEntity\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Entity/EntityTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Entity\\\\EntityTest\\:\\:getEntity\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Entity/EntityTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Entity\\\\EntityTest\\:\\:getMappedEntity\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Entity/EntityTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Entity\\\\EntityTest\\:\\:getNewSetterGetterEntity\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Entity/EntityTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Entity\\\\EntityTest\\:\\:getPrivateMethodInvoker\\(\\) return type has no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Entity/EntityTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Entity\\\\EntityTest\\:\\:getSimpleSwappedEntity\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Entity/EntityTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Entity\\\\EntityTest\\:\\:getSwappedEntity\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Entity/EntityTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Entity\\\\EntityTest\\:\\:setPrivateProperty\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Entity/EntityTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.configArgumentInstanceof - 'message' => '#^Argument \\#1 \\$name \\(\'Modules\'\\) passed to function config does not extend CodeIgniter\\\\\\\\Config\\\\\\\\BaseConfig\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Events/EventsTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Events\\\\Events\\:\\:unInitialize\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Events/EventsTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\Filters\\\\CSRFTest\\:\\:\\$response \\(CodeIgniter\\\\HTTP\\\\Response\\|null\\) does not accept CodeIgniter\\\\HTTP\\\\ResponseInterface\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Filters/CSRFTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'GET\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/DebugToolbarTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\Filters\\\\DebugToolbarTest\\:\\:\\$response \\(CodeIgniter\\\\HTTP\\\\Response\\) does not accept CodeIgniter\\\\HTTP\\\\ResponseInterface\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/DebugToolbarTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'DELETE\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/FiltersTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'GET\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 36, - 'path' => __DIR__ . '/tests/system/Filters/FiltersTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning 2 directly on offset \'argc\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/FiltersTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'spark\', \'list\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/FiltersTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Filters\\\\FiltersTest\\:\\:createFilters\\(\\) has parameter \\$request with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/FiltersTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\FiltersTest\\:\\:provideBeforeExcept\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/FiltersTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\FiltersTest\\:\\:provideProcessMethodProcessGlobalsWithExcept\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/FiltersTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\FiltersTest\\:\\:testBeforeExcept\\(\\) has parameter \\$except with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/FiltersTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\FiltersTest\\:\\:testBeforeExcept\\(\\) has parameter \\$expected with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/FiltersTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\FiltersTest\\:\\:testProcessMethodProcessGlobalsWithExcept\\(\\) has parameter \\$except with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/FiltersTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\Filters\\\\FiltersTest\\:\\:\\$response \\(CodeIgniter\\\\HTTP\\\\Response\\) does not accept CodeIgniter\\\\HTTP\\\\ResponseInterface\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/FiltersTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'POST\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/HoneypotTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\Filters\\\\HoneypotTest\\:\\:\\$response \\(CodeIgniter\\\\HTTP\\\\Response\\|null\\) does not accept CodeIgniter\\\\HTTP\\\\RequestInterface\\|CodeIgniter\\\\HTTP\\\\ResponseInterface\\|string\\|null\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Filters/HoneypotTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\Filters\\\\HoneypotTest\\:\\:\\$response \\(CodeIgniter\\\\HTTP\\\\Response\\|null\\) does not accept CodeIgniter\\\\HTTP\\\\ResponseInterface\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/tests/system/Filters/HoneypotTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning string directly on offset \'val\' of \\$_GET is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Filters/InvalidCharsTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\InvalidCharsTest\\:\\:provideCheckControlStringWithControlCharsCausesException\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/InvalidCharsTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Filters\\\\InvalidCharsTest\\:\\:provideCheckControlStringWithLineBreakAndTabReturnsTheString\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/InvalidCharsTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.getReassignArray - 'message' => '#^Re\\-assigning arrays to \\$_GET directly is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Filters/InvalidCharsTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Filters\\\\fixtures\\\\InvalidClass\\:\\:index\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Filters/fixtures/InvalidClass.php', -]; -$ignoreErrors[] = [ - // identifier: method.nameCase - 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with incorrect case\\: assertInstanceof$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Format/FormatTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Format\\\\XMLFormatterTest\\:\\:provideValidatingInvalidTags\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Format/XMLFormatterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Format\\\\XMLFormatterTest\\:\\:testValidatingInvalidTags\\(\\) has parameter \\$input with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Format/XMLFormatterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'baz\' directly on offset \'bar\' of \\$_GET is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/CLIRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'users\', \'21\', \'abc \\< def\', \'McDonald\\\\\'s\', \'\\aaa\\\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/CLIRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'users\', \'21\', \'pro\\-file\', \'\\-\\-foo\', \'bar\', \'\\-\\-baz\', \'queue some stuff\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/CLIRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'users\', \'21\', \'profile\', \'\\-\\-foo\', \'bar\', \'\\-\\-baz\', \'queue some stuff\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/CLIRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'users\', \'21\', \'profile\', \'\\-\\-foo\', \'bar\', \'\\-\\-foo\\-bar\', \'yes\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/CLIRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'users\', \'21\', \'profile\', \'\\-\\-foo\', \'bar\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/CLIRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'users\', \'21\', \'profile\', \'\\-\\-foo\', \'oops\', \'bar\', \'\\-\\-baz\', \'queue some stuff\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/CLIRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'users\', \'21\', \'profile\', \'\\-\\-foo\', \'oops\\-bar\', \'\\-\\-baz\', \'queue some stuff\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/CLIRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'users\', \'21\', \'profile\', \'\\-foo\', \'bar\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/CLIRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'users\', \'21\', \'profile\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/CLIRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'spark\', \'command\', \'param1\', \'param2\', \'\\-\\-opt1\', \'opt1val\', \'\\-\\-opt\\-2\', \'opt 2 val\', \'param3\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/CLIRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.getReassignArray - 'message' => '#^Re\\-assigning arrays to \\$_GET directly is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/CLIRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'10\' directly on offset \'HTTP_CONTENT_LENGTH\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/CURLRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'en\\-US\' directly on offset \'HTTP_ACCEPT_LANGUAGE\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/CURLRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'gzip, deflate, br\' directly on offset \'HTTP_ACCEPT_ENCODING\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/CURLRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'site1\\.com\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/CURLRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ContentSecurityPolicyTest\\:\\:work\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/ContentSecurityPolicyTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'HTTP_USER_AGENT\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/DownloadResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'Mozilla/5\\.0 \\(Linux; U; Android 2\\.0\\.3; ja\\-jp; SC\\-02C Build/IML74K\\) AppleWebKit/534\\.30 \\(KHTML, like Gecko\\) Version/4\\.0 Mobile Safari/534\\.30\' directly on offset \'HTTP_USER_AGENT\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/DownloadResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.nameCase - 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertNull\\(\\) with incorrect case\\: AssertNull$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/Files/FileCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Function CodeIgniter\\\\HTTP\\\\Files\\\\is_uploaded_file\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/Files/FileMovingTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Function CodeIgniter\\\\HTTP\\\\Files\\\\is_uploaded_file\\(\\) has parameter \\$filename with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/Files/FileMovingTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Function CodeIgniter\\\\HTTP\\\\Files\\\\move_uploaded_file\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/Files/FileMovingTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Function CodeIgniter\\\\HTTP\\\\Files\\\\move_uploaded_file\\(\\) has parameter \\$destination with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/Files/FileMovingTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Function CodeIgniter\\\\HTTP\\\\Files\\\\move_uploaded_file\\(\\) has parameter \\$filename with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/Files/FileMovingTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Function CodeIgniter\\\\HTTP\\\\Files\\\\rrmdir\\(\\) has parameter \\$src with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/Files/FileMovingTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$value of class CodeIgniter\\\\HTTP\\\\Header constructor expects array\\\\|string\\>\\|string\\|null, int given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/HeaderTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$value of class CodeIgniter\\\\HTTP\\\\Header constructor expects array\\\\|string\\>\\|string\\|null, stdClass given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/HeaderTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'\' directly on offset \'QUERY_STRING\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/\\?/ci/woot\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci/index\\.php/popcorn/woot\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci/woot\' directly on offset \'QUERY_STRING\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci/woot\\?code\\=good\' directly on offset \'QUERY_STRING\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 11, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php/woot\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php/woot\\?code\\=good\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php\\?\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php\\?/ci/woot\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php\\?/ci/woot\\?code\\=good\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/sub/example\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/sub/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/woot\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.getReassignArray - 'message' => '#^Re\\-assigning arrays to \\$_GET directly is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestDetectingTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'10\\.0\\.1\\.200\' directly on offset \'REMOTE_ADDR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'10\\.10\\.1\\.200\' directly on offset \'REMOTE_ADDR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'123\\.123\\.123\\.123\' directly on offset \'HTTP_X_FORWARDED_FOR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 7, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'123\\.123\\.123\\.123\' directly on offset \'REMOTE_ADDR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'123\\.456\\.23\\.123\' directly on offset \'HTTP_X_FORWARDED_FOR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'192\\.168\\.5\\.21\' directly on offset \'REMOTE_ADDR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'2001\\:db8\\:1234\\:ffff\\:ffff\\:ffff\\:ffff\\:ffff\' directly on offset \'REMOTE_ADDR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'2001\\:db8\\:1235\\:ffff\\:ffff\\:ffff\\:ffff\\:ffff\' directly on offset \'REMOTE_ADDR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'2001\\:db8\\:\\:2\\:1\' directly on offset \'REMOTE_ADDR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'2001\\:db8\\:\\:2\\:2\' directly on offset \'REMOTE_ADDR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'2001\\:xyz\\:\\:1\' directly on offset \'HTTP_X_FORWARDED_FOR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'3\' directly on offset \'TEST\' of \\$_GET is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'3\' directly on offset \'get\' of \\$_GET is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'Mozilla\' directly on offset \'HTTP_USER_AGENT\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'fr\\-FR; q\\=1\\.0, en; q\\=0\\.5\' directly on offset \'HTTP_ACCEPT_LANGUAGE\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'fr; q\\=1\\.0, en; q\\=0\\.5\' directly on offset \'HTTP_ACCEPT_LANGUAGE\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'on\' directly on offset \'HTTPS\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning 3 directly on offset \'TEST\' of \\$_GET is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning 5 directly on offset \'TEST\' of \\$_GET is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning mixed directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning mixed directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:getCookie\\(\\)\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:getDefaultLocale\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:getFile\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:getFileMultiple\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:getFiles\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:getGet\\(\\)\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:getGetPost\\(\\)\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:getLocale\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:getOldInput\\(\\)\\.$#', - 'count' => 9, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:getPost\\(\\)\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:getPostGet\\(\\)\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:getVar\\(\\)\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:is\\(\\)\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:isAJAX\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:isCLI\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:isSecure\\(\\)\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\Request\\:\\:negotiate\\(\\)\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequestTest\\:\\:createRequest\\(\\) has parameter \\$body with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequestTest\\:\\:provideCanGrabGetRawInputVar\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequestTest\\:\\:provideExtensionPHP\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\IncomingRequestTest\\:\\:provideIsHTTPMethods\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property Config\\\\App\\:\\:\\$proxyIPs \\(array\\\\) does not accept array\\\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property Config\\\\App\\:\\:\\$proxyIPs \\(array\\\\) does not accept string\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.getReassignArray - 'message' => '#^Re\\-assigning arrays to \\$_GET directly is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/IncomingRequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\MessageTest\\:\\:provideArrayHeaderValue\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/MessageTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\MessageTest\\:\\:testSetHeaderWithExistingArrayValuesAppendArrayValue\\(\\) has parameter \\$arrayHeaderValue with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/MessageTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\MessageTest\\:\\:testSetHeaderWithExistingArrayValuesAppendStringValue\\(\\) has parameter \\$arrayHeaderValue with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/MessageTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$config of class CodeIgniter\\\\Log\\\\Logger constructor expects Config\\\\Logger, CodeIgniter\\\\Test\\\\Mock\\\\MockLogger given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/RedirectExceptionTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'GET\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/RedirectResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'http\\://somewhere\\.com\' directly on offset \'HTTP_REFERER\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/RedirectResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - 'message' => '#^PHPDoc type CodeIgniter\\\\Router\\\\RouteCollection of property CodeIgniter\\\\HTTP\\\\RedirectResponseTest\\:\\:\\$routes is not the same as PHPDoc type CodeIgniter\\\\Router\\\\RouteCollection\\|null of overridden property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$routes\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/RedirectResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.getReassignArray - 'message' => '#^Re\\-assigning arrays to \\$_GET directly is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/RedirectResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'10\\.0\\.1\\.200\' directly on offset \'REMOTE_ADDR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/RequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'10\\.10\\.1\\.200\' directly on offset \'REMOTE_ADDR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/RequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'123\\.123\\.123\\.123\' directly on offset \'HTTP_X_FORWARDED_FOR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/HTTP/RequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'123\\.123\\.123\\.123\' directly on offset \'REMOTE_ADDR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/RequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'123\\.456\\.23\\.123\' directly on offset \'HTTP_X_FORWARDED_FOR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/RequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'192\\.168\\.5\\.21\' directly on offset \'REMOTE_ADDR\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/RequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'baz\' directly on offset \'bar\' of \\$_GET is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/RequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.getReassignArray - 'message' => '#^Re\\-assigning arrays to \\$_GET directly is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/RequestTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ResponseCookieTest\\:\\:\\$defaults type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/ResponseCookieTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#3 \\$expire of method CodeIgniter\\\\HTTP\\\\Response\\:\\:setCookie\\(\\) expects int, string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/ResponseSendTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'SERVER_SOFTWARE\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/ResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'GET\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/ResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'HTTP/1\\.1\' directly on offset \'SERVER_PROTOCOL\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/HTTP/ResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'Microsoft\\-IIS\' directly on offset \'SERVER_SOFTWARE\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/ResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'POST\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/ResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning string directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/ResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning string directly on offset \'SERVER_PROTOCOL\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/ResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning string directly on offset \'SERVER_SOFTWARE\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/ResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ResponseTest\\:\\:provideRedirect\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/ResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\ResponseTest\\:\\:provideRedirectWithIIS\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/ResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$data of method CodeIgniter\\\\HTTP\\\\Message\\:\\:setBody\\(\\) expects string, array\\\\|string\\> given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/ResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#3 \\$expire of method CodeIgniter\\\\HTTP\\\\Response\\:\\:setCookie\\(\\) expects int, string given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/ResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\HTTP\\\\ResponseTest\\:\\:\\$server type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/ResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'QUERY_STRING\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'\' directly on offset \'/ci/woot\' of \\$_GET is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/\\?/ci/woot\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/candy/snickers\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci/index\\.php/popcorn/woot\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci/woot\' directly on offset \'QUERY_STRING\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci/woot\\?code\\=good\' directly on offset \'QUERY_STRING\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci431/public/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci431/public/index\\.php/woot\\?code\\=good\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/fruits/banana\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 13, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php/fruits/banana\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php/woot\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php/woot\\?code\\=good\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php\\?\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php\\?/ci/woot\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php\\?/ci/woot\\?code\\=good\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/sub/example\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/sub/folder/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/sub/folder/index\\.php/fruits/banana\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/sub/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/woot\' directly on offset \'PATH_INFO\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/woot\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'good\' directly on offset \'/ci/woot\\?code\' of \\$_GET is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning string directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning string directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\SiteURIFactoryDetectRoutePathTest\\:\\:createSiteURIFactory\\(\\) has parameter \\$server with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\SiteURIFactoryDetectRoutePathTest\\:\\:provideExtensionPHP\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.getReassignArray - 'message' => '#^Re\\-assigning arrays to \\$_GET directly is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryDetectRoutePathTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php/woot\\?code\\=good\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/woot\' directly on offset \'PATH_INFO\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'code\\=good\' directly on offset \'QUERY_STRING\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'good\' directly on offset \'code\' of \\$_GET is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'localhost\\:8080\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'users\\.example\\.jp\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\SiteURIFactoryTest\\:\\:provideCreateFromStringWithIndexPage\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\SiteURIFactoryTest\\:\\:provideCreateFromStringWithoutIndexPage\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.getReassignArray - 'message' => '#^Re\\-assigning arrays to \\$_GET directly is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURIFactoryTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\SiteURITest\\:\\:provideConstructor\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURITest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\SiteURITest\\:\\:provideRelativePathWithQueryOrFragment\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURITest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\SiteURITest\\:\\:provideSetPath\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURITest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\SiteURITest\\:\\:testConstructor\\(\\) has parameter \\$expectedSegments with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURITest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\SiteURITest\\:\\:testSetPath\\(\\) has parameter \\$expectedSegments with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURITest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#4 \\$scheme of class CodeIgniter\\\\HTTP\\\\SiteURI constructor expects \'http\'\\|\'https\'\\|null, \'\' given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/SiteURITest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'\' directly on offset \'QUERY_STRING\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/HTTP/URITest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci/v4/controller/method\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/URITest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci/v4/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/HTTP/URITest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci/v4/index\\.php/controller/method\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/URITest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/controller/method\' directly on offset \'PATH_INFO\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/HTTP/URITest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'example\\.com\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/HTTP/URITest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\URI\\:\\:getRoutePath\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/URITest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\URITest\\:\\:defaultResolutions\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/URITest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\URITest\\:\\:provideAuthorityRemovesDefaultPorts\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/URITest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\URITest\\:\\:provideAuthorityReturnsExceptedValues\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/URITest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\URITest\\:\\:providePathGetsFiltered\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/URITest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\URITest\\:\\:provideRemoveDotSegments\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/URITest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\URITest\\:\\:provideSetPath\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/URITest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HTTP\\\\URITest\\:\\:provideSimpleUri\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/URITest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'HTTP_REFERER\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/UserAgentTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'HTTP_USER_AGENT\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/UserAgentTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'http\\://codeigniter\\.com/user_guide/\' directly on offset \'HTTP_REFERER\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HTTP/UserAgentTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning string directly on offset \'HTTP_USER_AGENT\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/HTTP/UserAgentTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelperDotKeyExistsTest\\:\\:\\$array type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/Array/ArrayHelperDotKeyExistsTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelperRecursiveDiffTest\\:\\:\\$compareWith type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/Array/ArrayHelperRecursiveDiffTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelperSortValuesByNaturalTest\\:\\:\\$arrayWithArrayValues type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/Array/ArrayHelperSortValuesByNaturalTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Helpers\\\\Array\\\\ArrayHelperSortValuesByNaturalTest\\:\\:\\$arrayWithStringValues type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/Array/ArrayHelperSortValuesByNaturalTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:provideArrayDeepSearch\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:provideArrayFlattening\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:provideArrayGroupByExcludeEmpty\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:provideArrayGroupByIncludeEmpty\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:provideSortByMultipleKeys\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArrayDeepSearch\\(\\) has parameter \\$expected with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArrayFlattening\\(\\) has parameter \\$expected with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArrayFlattening\\(\\) has parameter \\$input with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArrayGroupByExcludeEmpty\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArrayGroupByExcludeEmpty\\(\\) has parameter \\$expected with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArrayGroupByExcludeEmpty\\(\\) has parameter \\$indexes with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArrayGroupByIncludeEmpty\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArrayGroupByIncludeEmpty\\(\\) has parameter \\$expected with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArrayGroupByIncludeEmpty\\(\\) has parameter \\$indexes with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArraySortByMultipleKeysFailsEmptyParameter\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArraySortByMultipleKeysFailsEmptyParameter\\(\\) has parameter \\$expected with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArraySortByMultipleKeysFailsEmptyParameter\\(\\) has parameter \\$sortColumns with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArraySortByMultipleKeysWithArray\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArraySortByMultipleKeysWithArray\\(\\) has parameter \\$expected with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArraySortByMultipleKeysWithArray\\(\\) has parameter \\$sortColumns with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArraySortByMultipleKeysWithObjects\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArraySortByMultipleKeysWithObjects\\(\\) has parameter \\$expected with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\ArrayHelperTest\\:\\:testArraySortByMultipleKeysWithObjects\\(\\) has parameter \\$sortColumns with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/ArrayHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\Helpers\\\\CookieHelperTest\\:\\:\\$response \\(CodeIgniter\\\\HTTP\\\\Response\\) does not accept CodeIgniter\\\\HTTP\\\\ResponseInterface\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/CookieHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method org\\\\bovigo\\\\vfs\\\\visitor\\\\vfsStreamVisitor\\:\\:getStructure\\(\\)\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Helpers/FilesystemHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - 'message' => '#^PHPDoc tag @var for property CodeIgniter\\\\Helpers\\\\FilesystemHelperTest\\:\\:\\$structure with type mixed is not subtype of native type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/FilesystemHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Helpers\\\\FilesystemHelperTest\\:\\:\\$structure type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/FilesystemHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$value of function form_hidden expects array\\|string, null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/FormHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Helpers\\\\HTMLHelperTest\\:\\:\\$tracks type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/HTMLHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\InflectorHelperTest\\:\\:provideOrdinal\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/InflectorHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$num of function number_to_size expects int\\|string, float given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/NumberHelperTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/assets/image\\.jpg\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/foo/public/bar\\?baz\\=quip\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/foo/public/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/public/\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/public/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/subfolder/assets/image\\.jpg\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/subfolder/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'8080\' directly on offset \'SERVER_PORT\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'example\\.com\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 11, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'invalid\\.example\\.org\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'www\\.example\\.jp\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning non\\-falsy\\-string directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\CurrentUrlTest\\:\\:createRequest\\(\\) has parameter \\$body with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\CurrentUrlTest\\:\\:provideUrlIs\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/CurrentUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'example\\.com\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'http\\://example\\.com/one\\?two\' directly on offset \'HTTP_REFERER\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\MiscUrlTest\\:\\:provideAnchor\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\MiscUrlTest\\:\\:provideAnchorExamples\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\MiscUrlTest\\:\\:provideAnchorNoindex\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\MiscUrlTest\\:\\:provideAnchorPopup\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\MiscUrlTest\\:\\:provideAnchorTargetted\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\MiscUrlTest\\:\\:provideAutoLinkEmail\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\MiscUrlTest\\:\\:provideAutoLinkPopup\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\MiscUrlTest\\:\\:provideAutoLinkUrl\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\MiscUrlTest\\:\\:provideAutolinkBoth\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\MiscUrlTest\\:\\:provideMailto\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\MiscUrlTest\\:\\:providePrepUrl\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\MiscUrlTest\\:\\:provideSafeMailto\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\MiscUrlTest\\:\\:provideUrlTo\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\MiscUrlTest\\:\\:provideUrlToThrowsOnEmptyOrMissingRoute\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\MiscUrlTest\\:\\:testUrlTo\\(\\) has parameter \\$args with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/MiscUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\SiteUrlCliTest\\:\\:provideUrls\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/SiteUrlCliTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'HTTP_HOST\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/SiteUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'REQUEST_URI\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/SiteUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci/v4/x/y\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/SiteUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/public\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/SiteUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/public/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/SiteUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/test\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/SiteUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/test/page\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/SiteUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'example\\.com\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/SiteUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'www\\.example\\.jp\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/SiteUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\SiteUrlTest\\:\\:createRequest\\(\\) has parameter \\$body with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/SiteUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Helpers\\\\URLHelper\\\\SiteUrlTest\\:\\:provideUrls\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Helpers/URLHelper/SiteUrlTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'test\' directly on offset \'HTTPS\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning string directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HomeTest\\:\\:call\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HomeTest\\:\\:delete\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HomeTest\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HomeTest\\:\\:options\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HomeTest\\:\\:patch\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HomeTest\\:\\:populateGlobals\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HomeTest\\:\\:post\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HomeTest\\:\\:put\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HomeTest\\:\\:setRequestBody\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HomeTest\\:\\:withHeaders\\(\\) has parameter \\$headers with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HomeTest\\:\\:withRoutes\\(\\) has parameter \\$routes with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\HomeTest\\:\\:withSession\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: booleanNot.exprNotBoolean - 'message' => '#^Only booleans are allowed in a negated boolean, CodeIgniter\\\\Router\\\\RouteCollection\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$request of method CodeIgniter\\\\CodeIgniter\\:\\:setRequest\\(\\) expects CodeIgniter\\\\HTTP\\\\CLIRequest\\|CodeIgniter\\\\HTTP\\\\IncomingRequest, CodeIgniter\\\\HTTP\\\\Request given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#3 \\$params of method CodeIgniter\\\\HomeTest\\:\\:populateGlobals\\(\\) expects non\\-empty\\-array\\|null, array\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: nullCoalesce.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$session \\(array\\) on left side of \\?\\? is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/HomeTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'POST\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Honeypot/HoneypotTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$config of class CodeIgniter\\\\Filters\\\\Filters constructor expects Config\\\\Filters, object\\{aliases\\: array\\, globals\\: array\\\\>\\}&stdClass given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Honeypot/HoneypotTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$data of method CodeIgniter\\\\HTTP\\\\Message\\:\\:setBody\\(\\) expects string, null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Honeypot/HoneypotTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\Honeypot\\\\HoneypotTest\\:\\:\\$response \\(CodeIgniter\\\\HTTP\\\\Response\\) does not accept CodeIgniter\\\\HTTP\\\\RequestInterface\\|CodeIgniter\\\\HTTP\\\\ResponseInterface\\|string\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Honeypot/HoneypotTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\Honeypot\\\\HoneypotTest\\:\\:\\$response \\(CodeIgniter\\\\HTTP\\\\Response\\) does not accept CodeIgniter\\\\HTTP\\\\ResponseInterface\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Honeypot/HoneypotTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\I18n\\\\TimeDifference\\:\\:\\$nonsense\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/I18n/TimeDifferenceTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.protected - 'message' => '#^Access to protected property CodeIgniter\\\\I18n\\\\TimeDifference\\:\\:\\$days\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/I18n/TimeDifferenceTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.protected - 'message' => '#^Access to protected property CodeIgniter\\\\I18n\\\\TimeDifference\\:\\:\\$hours\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/I18n/TimeDifferenceTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.protected - 'message' => '#^Access to protected property CodeIgniter\\\\I18n\\\\TimeDifference\\:\\:\\$minutes\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/I18n/TimeDifferenceTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.protected - 'message' => '#^Access to protected property CodeIgniter\\\\I18n\\\\TimeDifference\\:\\:\\$months\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/I18n/TimeDifferenceTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.protected - 'message' => '#^Access to protected property CodeIgniter\\\\I18n\\\\TimeDifference\\:\\:\\$seconds\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/I18n/TimeDifferenceTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.protected - 'message' => '#^Access to protected property CodeIgniter\\\\I18n\\\\TimeDifference\\:\\:\\$weeks\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/I18n/TimeDifferenceTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.protected - 'message' => '#^Access to protected property CodeIgniter\\\\I18n\\\\TimeDifference\\:\\:\\$years\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/I18n/TimeDifferenceTest.php', -]; -$ignoreErrors[] = [ - // identifier: isset.property - 'message' => '#^Property CodeIgniter\\\\I18n\\\\TimeDifference\\:\\:\\$days \\(int\\) in isset\\(\\) is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/I18n/TimeDifferenceTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\I18n\\\\TimeLegacy\\:\\:\\$timezoneName\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/I18n/TimeLegacyTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\I18n\\\\TimeLegacy\\:\\:\\$weekOfWeek\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/I18n/TimeLegacyTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\I18n\\\\TimeLegacyTest\\:\\:provideToStringDoesNotDependOnLocale\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/I18n/TimeLegacyTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\I18n\\\\Time\\:\\:\\$timezoneName\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/I18n/TimeTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\I18n\\\\Time\\:\\:\\$weekOfWeek\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/I18n/TimeTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\I18n\\\\TimeTest\\:\\:provideToStringDoesNotDependOnLocale\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/I18n/TimeTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Images\\\\Handlers\\\\BaseHandler\\:\\:getPathname\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Images/BaseHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method org\\\\bovigo\\\\vfs\\\\vfsStreamContent\\:\\:getContent\\(\\)\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Images/GDHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$image of function imagecolorat expects GdImage, resource given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Images/GDHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$image of function imagecolorsforindex expects GdImage, resource given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Images/GDHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$filename of function file_get_contents expects string, resource given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Images/ImageMagickHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Language\\\\LanguageTest\\:\\:provideBundleUniqueKeys\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Language/LanguageTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$message of method CodeIgniter\\\\Log\\\\Handlers\\\\ChromeLoggerHandler\\:\\:handle\\(\\) expects string, stdClass given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Log/Handlers/ChromeLoggerHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Log\\\\Handlers\\\\ErrorlogHandlerTest\\:\\:getMockedHandler\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Log/Handlers/ErrorlogHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$config of class CodeIgniter\\\\Log\\\\Logger constructor expects Config\\\\Logger, CodeIgniter\\\\Test\\\\Mock\\\\MockLogger given\\.$#', - 'count' => 24, - 'path' => __DIR__ . '/tests/system/Log/LoggerTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$level of method CodeIgniter\\\\Log\\\\Logger\\:\\:log\\(\\) expects string, int given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Log/LoggerTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$message of method CodeIgniter\\\\Log\\\\Logger\\:\\:log\\(\\) expects string\\|Stringable, CodeIgniter\\\\Test\\\\Mock\\\\MockLogger given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Log/LoggerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.getReassignArray - 'message' => '#^Re\\-assigning arrays to \\$_GET directly is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Log/LoggerTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.void - 'message' => '#^Result of method CodeIgniter\\\\Log\\\\Logger\\:\\:log\\(\\) \\(void\\) is used\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Log/LoggerTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Model\\:\\:affectedRows\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/AffectedRowsTest.php', -]; -$ignoreErrors[] = [ - // identifier: offsetAccess.notFound - 'message' => '#^Offset \'email\' does not exist on array\\\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Models/DataConverterModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: offsetAccess.notFound - 'message' => '#^Offset \'email\' does not exist on array\\{\\}\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/tests/system/Models/DataConverterModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: offsetAccess.notFound - 'message' => '#^Offset \'id\' does not exist on array\\{email\\: array\\{\'private@example\\.org\'\\}\\}\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/DataConverterModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: offsetAccess.notFound - 'message' => '#^Offset \'id\' does not exist on array\\{\\}\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/tests/system/Models/DataConverterModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$row of method CodeIgniter\\\\BaseModel\\:\\:save\\(\\) expects array\\\\|object, array\\\\> given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/DataConverterModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$row of method CodeIgniter\\\\Model\\:\\:update\\(\\) expects array\\\\|object\\|null, array\\\\> given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/DataConverterModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.defaultValue - 'message' => '#^Property CodeIgniter\\\\Models\\\\DataConverterModelTest\\:\\:\\$seed \\(array\\\\>\\|class\\-string\\\\) does not accept default value of type string\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/DataConverterModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Models\\\\DeleteModelTest\\:\\:emptyPkValues\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/DeleteModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - 'message' => '#^PHPDoc type Tests\\\\Support\\\\Models\\\\EventModel of property CodeIgniter\\\\Models\\\\EventsModelTest\\:\\:\\$model is not the same as PHPDoc type CodeIgniter\\\\Model of overridden property CodeIgniter\\\\Models\\\\LiveModelTestCase\\:\\:\\$model\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/EventsModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Model\\:\\:getLastQuery\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/FindModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$id on array\\.$#', - 'count' => 8, - 'path' => __DIR__ . '/tests/system/Models/FindModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$name on array\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/Models/FindModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$total on array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/FindModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Models\\\\FindModelTest\\:\\:provideAggregateAndGroupBy\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/FindModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Models\\\\FindModelTest\\:\\:provideFirstAggregate\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/FindModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: booleanNot.exprNotBoolean - 'message' => '#^Only booleans are allowed in a negated boolean, mixed given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Models/FindModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, mixed given\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/Models/FindModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: booleanOr.rightNotBoolean - 'message' => '#^Only booleans are allowed in \\|\\|, mixed given on the right side\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/FindModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property object\\:\\:\\$charset\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/GeneralModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Model\\:\\:undefinedMethodCall\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/GeneralModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$country on array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$created_at on array\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:193\\:\\:\\$_options has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:193\\:\\:\\$country has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:193\\:\\:\\$created_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:193\\:\\:\\$deleted has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:193\\:\\:\\$email has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:193\\:\\:\\$id has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:193\\:\\:\\$name has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:193\\:\\:\\$updated_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:287\\:\\:\\$_options has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:287\\:\\:\\$country has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:287\\:\\:\\$created_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:287\\:\\:\\$deleted has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:287\\:\\:\\$email has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:287\\:\\:\\$id has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:287\\:\\:\\$name has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/InsertModelTest\\.php\\:287\\:\\:\\$updated_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/InsertModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Models\\\\LiveModelTestCase\\:\\:getPrivateMethodInvoker\\(\\) return type has no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/LiveModelTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Models\\\\LiveModelTestCase\\:\\:setPrivateProperty\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/LiveModelTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$created_at on array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/MiscellaneousModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.getReassignArray - 'message' => '#^Re\\-assigning arrays to \\$_GET directly is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/PaginateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method class@anonymous/tests/system/Models/SaveModelTest\\.php\\:288\\:\\:truncate\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$description on array\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$id on array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$name on array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/SaveModelTest\\.php\\:239\\:\\:\\$_options has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/SaveModelTest\\.php\\:239\\:\\:\\$country has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/SaveModelTest\\.php\\:239\\:\\:\\$created_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/SaveModelTest\\.php\\:239\\:\\:\\$deleted has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/SaveModelTest\\.php\\:239\\:\\:\\$email has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/SaveModelTest\\.php\\:239\\:\\:\\$id has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/SaveModelTest\\.php\\:239\\:\\:\\$name has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/SaveModelTest\\.php\\:239\\:\\:\\$updated_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/SaveModelTest\\.php\\:272\\:\\:\\$_options has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/SaveModelTest\\.php\\:272\\:\\:\\$created_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/SaveModelTest\\.php\\:272\\:\\:\\$id has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/SaveModelTest\\.php\\:272\\:\\:\\$name has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/SaveModelTest\\.php\\:272\\:\\:\\$updated_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/SaveModelTest\\.php\\:288\\:\\:\\$name has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/SaveModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$country on array\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Models/TimestampModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$created_at on array\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Models/TimestampModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$id on array\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Models/TimestampModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$updated_at on array\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Models/TimestampModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Models\\\\TimestampModelTest\\:\\:allowDatesPrepareOneRecord\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/TimestampModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Models\\\\TimestampModelTest\\:\\:doNotAllowDatesPrepareOneRecord\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/TimestampModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: offsetAccess.notFound - 'message' => '#^Offset \'created_at\' does not exist on array\\{\\}\\.$#', - 'count' => 6, - 'path' => __DIR__ . '/tests/system/Models/TimestampModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: offsetAccess.notFound - 'message' => '#^Offset \'id\' does not exist on array\\{country\\: \'CA\'\\}\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Models/TimestampModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.defaultValue - 'message' => '#^Property CodeIgniter\\\\Models\\\\TimestampModelTest\\:\\:\\$seed \\(array\\\\>\\|class\\-string\\\\) does not accept default value of type string\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/TimestampModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$value on array\\\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Models\\\\UpdateModelTest\\:\\:provideUpdateThrowDatabaseExceptionWithoutWhereClause\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$id of method CodeIgniter\\\\Model\\:\\:update\\(\\) expects array\\|int\\|string\\|null, false\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$row of method CodeIgniter\\\\BaseModel\\:\\:save\\(\\) expects array\\\\|object, array\\\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:198\\:\\:\\$_options has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:198\\:\\:\\$country has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:198\\:\\:\\$created_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:198\\:\\:\\$deleted has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:198\\:\\:\\$email has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:198\\:\\:\\$id has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:198\\:\\:\\$name has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:198\\:\\:\\$updated_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:217\\:\\:\\$_options has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:217\\:\\:\\$country has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:217\\:\\:\\$created_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:217\\:\\:\\$deleted has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:217\\:\\:\\$email has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:217\\:\\:\\$id has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:217\\:\\:\\$name has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:217\\:\\:\\$updated_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:350\\:\\:\\$_options has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:350\\:\\:\\$country has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:350\\:\\:\\$created_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:350\\:\\:\\$deleted has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:350\\:\\:\\$email has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:350\\:\\:\\$id has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:350\\:\\:\\$name has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/UpdateModelTest\\.php\\:350\\:\\:\\$updated_at has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: deadCode.unreachable - 'message' => '#^Unreachable statement \\- code above always terminates\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/UpdateModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/Models/ValidationModelTest\\.php\\:245\\:\\:\\$grouptest has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/ValidationModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$key on array\\.$#', - 'count' => 7, - 'path' => __DIR__ . '/tests/system/Models/WhenWhenNotModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$value on array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Models/WhenWhenNotModelTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'page\' directly on \\$_GET is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Pager/PagerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'page_foo\' directly on \\$_GET is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Pager/PagerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci/v4/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Pager/PagerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/ci/v4/x/y\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Pager/PagerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/index\\.php\' directly on offset \'SCRIPT_NAME\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Pager/PagerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'bar\' directly on offset \'foo\' of \\$_GET is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Pager/PagerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'example\\.com\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Pager/PagerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning 2 directly on offset \'page\' of \\$_GET is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Pager/PagerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning 2 directly on offset \'page_foo\' of \\$_GET is discouraged\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/Pager/PagerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning 3 directly on offset \'page\' of \\$_GET is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Pager/PagerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning string directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Pager/PagerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.getReassignArray - 'message' => '#^Re\\-assigning arrays to \\$_GET directly is discouraged\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/Pager/PagerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Publisher\\\\PublisherOutputTest\\:\\:\\$structure type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Publisher/PublisherOutputTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Publisher\\\\PublisherRestrictionsTest\\:\\:provideDefaultPublicRestrictions\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Publisher/PublisherRestrictionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Publisher\\\\PublisherRestrictionsTest\\:\\:provideDestinations\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Publisher/PublisherRestrictionsTest.php', -]; -$ignoreErrors[] = [ - // identifier: ternary.shortNotAllowed - 'message' => '#^Short ternary operator is not allowed\\. Use null coalesce operator if applicable or consider using long ternary\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Publisher/PublisherSupportTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/work\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/work/1\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/work/1/edit\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/work/123\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/work/new\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'DELETE\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'GET\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'HTTP/1\\.1\' directly on offset \'SERVER_PROTOCOL\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'PATCH\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'POST\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'PUT\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning 2 directly on offset \'argc\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning 3 directly on offset \'argc\' of \\$_SERVER is discouraged\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning 4 directly on offset \'argc\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'work\', \'1\', \'edit\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'work\', \'1\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'work\', \'123\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'work\', \'new\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'work\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\HTTP\\\\ResponseInterface\\:\\:pretend\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\RESTful\\\\ResourceControllerTest\\:\\:invoke\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\RESTful\\\\ResourceControllerTest\\:\\:invoke\\(\\) has parameter \\$args with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - 'message' => '#^PHPDoc type CodeIgniter\\\\Router\\\\RouteCollection of property CodeIgniter\\\\RESTful\\\\ResourceControllerTest\\:\\:\\$routes is not the same as PHPDoc type CodeIgniter\\\\Router\\\\RouteCollection\\|null of overridden property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$routes\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$format of method CodeIgniter\\\\RESTful\\\\ResourceController\\:\\:setFormat\\(\\) expects \'json\'\\|\'xml\', \'Nonsense\' given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourceControllerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/work\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/work/create\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/work/delete/123\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/work/edit/1\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/work/new\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/work/remove/123\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/work/show/1\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'/work/update/123\' directly on offset \'REQUEST_URI\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'GET\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'HTTP/1\\.1\' directly on offset \'SERVER_PROTOCOL\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'POST\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning 2 directly on offset \'argc\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning 3 directly on offset \'argc\' of \\$_SERVER is discouraged\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning 4 directly on offset \'argc\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'work\', \'create\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'work\', \'delete\', \'123\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'work\', \'edit\', \'1\', \'edit\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'work\', \'new\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'work\', \'remove\', \'123\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'work\', \'show\', \'1\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'work\', \'update\', \'123\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning array\\{\'index\\.php\', \'work\'\\} directly on offset \'argv\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.phpDocType - 'message' => '#^PHPDoc type CodeIgniter\\\\Router\\\\RouteCollection of property CodeIgniter\\\\RESTful\\\\ResourcePresenterTest\\:\\:\\$routes is not the same as PHPDoc type CodeIgniter\\\\Router\\\\RouteCollection\\|null of overridden property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$routes\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/RESTful/ResourcePresenterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\AutoRouterImprovedTest\\:\\:provideRejectTranslateUriToCamelCase\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/AutoRouterImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\AutoRouterImprovedTest\\:\\:provideTranslateUriToCamelCase\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/AutoRouterImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Router\\\\Controllers\\\\BlogController\\:\\:getSomeMethod\\(\\) has parameter \\$first with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/Controllers/BlogController.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Router\\\\Controllers\\\\Index\\:\\:getIndex\\(\\) has parameter \\$p1 with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/Controllers/Index.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Router\\\\Controllers\\\\Mycontroller\\:\\:getSomemethod\\(\\) has parameter \\$first with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/Controllers/Mycontroller.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Router\\\\Controllers\\\\Remap\\:\\:_remap\\(\\) has parameter \\$params with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/Controllers/Remap.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Router\\\\Controllers\\\\SubDir\\\\BlogController\\:\\:getSomeMethod\\(\\) has parameter \\$first with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/Controllers/SubDir/BlogController.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Router\\\\Controllers\\\\Subfolder\\\\Home\\:\\:getIndex\\(\\) has parameter \\$p1 with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/Controllers/Subfolder/Home.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Router\\\\Controllers\\\\Subfolder\\\\Home\\:\\:getIndex\\(\\) has parameter \\$p2 with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/Controllers/Subfolder/Home.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Router\\\\Controllers\\\\Subfolder\\\\Sub\\\\BlogController\\:\\:getSomeMethod\\(\\) has parameter \\$first with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/Controllers/Subfolder/Sub/BlogController.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\DefinedRouteCollectorTest\\:\\:createRouteCollection\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/DefinedRouteCollectorTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Router\\\\DefinedRouteCollectorTest\\:\\:createRouteCollection\\(\\) has parameter \\$moduleConfig with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/DefinedRouteCollectorTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionReverseRouteTest\\:\\:getCollector\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionReverseRouteTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionReverseRouteTest\\:\\:getCollector\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionReverseRouteTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionReverseRouteTest\\:\\:getCollector\\(\\) has parameter \\$files with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionReverseRouteTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionReverseRouteTest\\:\\:getCollector\\(\\) has parameter \\$moduleConfig with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionReverseRouteTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionReverseRouteTest\\:\\:provideReverseRoutingDefaultNamespaceAppController\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionReverseRouteTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'adm\\.example\\.com\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'dev\\.example\\.com\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'doc\\.domain\\.com\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'doc\\.example\\.com\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'example\\.co\\.uk\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'example\\.com\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 5, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'www\\.example\\.com\' directly on offset \'HTTP_HOST\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: class.nameCase - 'message' => '#^Class CodeIgniter\\\\Controller referenced with incorrect case\\: CodeIgniter\\\\controller\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionTest\\:\\:getCollector\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionTest\\:\\:getCollector\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionTest\\:\\:getCollector\\(\\) has parameter \\$files with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionTest\\:\\:getCollector\\(\\) has parameter \\$moduleConfig with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionTest\\:\\:provideNestedGroupingWorksWithRootPrefix\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionTest\\:\\:provideRouteDefaultNamespace\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionTest\\:\\:provideRoutesOptionsWithSameFromTwoRoutes\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionTest\\:\\:testNestedGroupingWorksWithRootPrefix\\(\\) has parameter \\$expected with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionTest\\:\\:testRoutesOptionsWithSameFromTwoRoutes\\(\\) has parameter \\$options1 with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouteCollectionTest\\:\\:testRoutesOptionsWithSameFromTwoRoutes\\(\\) has parameter \\$options2 with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouteCollectionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Router\\\\RouterTest\\:\\:provideRedirectRoute\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Router/RouterTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'POST\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Security/SecurityCSRFCookieRandomizeTokenTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Config\\\\BaseConfig\\:\\:\\$regenerate\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Security/SecurityCSRFSessionRandomizeTokenTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Config\\\\BaseConfig\\:\\:\\$tokenRandomize\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Security/SecurityCSRFSessionRandomizeTokenTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'POST\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 10, - 'path' => __DIR__ . '/tests/system/Security/SecurityCSRFSessionRandomizeTokenTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'PUT\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Security/SecurityCSRFSessionRandomizeTokenTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Security\\\\SecurityCSRFSessionRandomizeTokenTest\\:\\:createSession\\(\\) has parameter \\$options with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Security/SecurityCSRFSessionRandomizeTokenTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$config of class CodeIgniter\\\\Test\\\\Mock\\\\MockSecurity constructor expects Config\\\\Security, CodeIgniter\\\\Config\\\\BaseConfig\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Security/SecurityCSRFSessionRandomizeTokenTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.notFound - 'message' => '#^Access to an undefined property CodeIgniter\\\\Config\\\\BaseConfig\\:\\:\\$regenerate\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Security/SecurityCSRFSessionTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'POST\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 8, - 'path' => __DIR__ . '/tests/system/Security/SecurityCSRFSessionTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'PUT\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Security/SecurityCSRFSessionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Security\\\\SecurityCSRFSessionTest\\:\\:createSession\\(\\) has parameter \\$options with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Security/SecurityCSRFSessionTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'GET\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Security/SecurityTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'POST\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 9, - 'path' => __DIR__ . '/tests/system/Security/SecurityTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'PUT\' directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Security/SecurityTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\Database\\\\AbstractHandlerTestCase\\:\\:getInstance\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/Handlers/Database/AbstractHandlerTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\Database\\\\AbstractHandlerTestCase\\:\\:getInstance\\(\\) has parameter \\$options with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/Handlers/Database/AbstractHandlerTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\Database\\\\AbstractHandlerTestCase\\:\\:getPrivateMethodInvoker\\(\\) return type has no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/Handlers/Database/AbstractHandlerTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\Database\\\\AbstractHandlerTestCase\\:\\:setPrivateProperty\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/Handlers/Database/AbstractHandlerTestCase.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\Database\\\\MySQLiHandlerTest\\:\\:getInstance\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/Handlers/Database/MySQLiHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\Database\\\\MySQLiHandlerTest\\:\\:getInstance\\(\\) has parameter \\$options with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/Handlers/Database/MySQLiHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\Database\\\\PostgreHandlerTest\\:\\:getInstance\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/Handlers/Database/PostgreHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\Database\\\\PostgreHandlerTest\\:\\:getInstance\\(\\) has parameter \\$options with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/Handlers/Database/PostgreHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\Database\\\\RedisHandlerTest\\:\\:getInstance\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/Handlers/Database/RedisHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\Database\\\\RedisHandlerTest\\:\\:getInstance\\(\\) has parameter \\$options with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/Handlers/Database/RedisHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\Database\\\\RedisHandlerTest\\:\\:provideSetSavePath\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/Handlers/Database/RedisHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Session\\\\Handlers\\\\Database\\\\RedisHandlerTest\\:\\:testSetSavePath\\(\\) has parameter \\$expected with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/Handlers/Database/RedisHandlerTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'xmlhttprequest\' directly on offset \'HTTP_X_REQUESTED_WITH\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Session/SessionTest.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/SessionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionTest\\:\\:getInstance\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/SessionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\Session\\\\SessionTest\\:\\:getInstance\\(\\) has parameter \\$options with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/SessionTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property Config\\\\Cookie\\:\\:\\$samesite \\(\'\'\\|\'Lax\'\\|\'None\'\\|\'Strict\'\\) does not accept \'Invalid\'\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Session/SessionTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\BootstrapFCPATHTest\\:\\:correctFCPATH\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/BootstrapFCPATHTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\BootstrapFCPATHTest\\:\\:fileContents\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/BootstrapFCPATHTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\BootstrapFCPATHTest\\:\\:readOutput\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/BootstrapFCPATHTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\Test\\\\TestResponse\\:\\:ohno\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/ControllerTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.nameCase - 'message' => '#^Call to method CodeIgniter\\\\Test\\\\ControllerTestTraitTest\\:\\:withUri\\(\\) with incorrect case\\: withURI$#', - 'count' => 17, - 'path' => __DIR__ . '/tests/system/Test/ControllerTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: class.notFound - 'message' => '#^Class App\\\\Controllers\\\\NeverHeardOfIt not found\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/ControllerTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/tests/system/Test/ControllerTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\ControllerTestTraitTest\\:\\:execute\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/ControllerTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$config of class CodeIgniter\\\\Log\\\\Logger constructor expects Config\\\\Logger, CodeIgniter\\\\Test\\\\Mock\\\\MockLogger given\\.$#', - 'count' => 15, - 'path' => __DIR__ . '/tests/system/Test/ControllerTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: empty.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\ControllerTestTraitTest\\:\\:\\$appConfig \\(Config\\\\App\\) in empty\\(\\) is not falsy\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/ControllerTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: empty.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\ControllerTestTraitTest\\:\\:\\$logger \\(Psr\\\\Log\\\\LoggerInterface\\) in empty\\(\\) is not falsy\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/ControllerTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: empty.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\ControllerTestTraitTest\\:\\:\\$request \\(CodeIgniter\\\\HTTP\\\\IncomingRequest\\) in empty\\(\\) is not falsy\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/ControllerTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: empty.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\ControllerTestTraitTest\\:\\:\\$response \\(CodeIgniter\\\\HTTP\\\\ResponseInterface\\) in empty\\(\\) is not falsy\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/ControllerTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\Test\\\\ControllerTestTraitTest\\:\\:\\$uri \\(string\\) does not accept CodeIgniter\\\\HTTP\\\\SiteURI\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Test/ControllerTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\DOMParserTest\\:\\:provideText\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/DOMParserTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$created_at on array\\|object\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FabricatorTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$deleted_at on array\\|object\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FabricatorTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$id on array\\|object\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FabricatorTest.php', -]; -$ignoreErrors[] = [ - // identifier: property.nonObject - 'message' => '#^Cannot access property \\$updated_at on array\\|object\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FabricatorTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Test\\\\FabricatorTest\\:\\:\\$formatters type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FabricatorTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'test\' directly on offset \'HTTPS\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning string directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestAutoRoutingImprovedTest\\:\\:call\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestAutoRoutingImprovedTest\\:\\:delete\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestAutoRoutingImprovedTest\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestAutoRoutingImprovedTest\\:\\:options\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestAutoRoutingImprovedTest\\:\\:patch\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestAutoRoutingImprovedTest\\:\\:populateGlobals\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestAutoRoutingImprovedTest\\:\\:post\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestAutoRoutingImprovedTest\\:\\:put\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestAutoRoutingImprovedTest\\:\\:setRequestBody\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestAutoRoutingImprovedTest\\:\\:withHeaders\\(\\) has parameter \\$headers with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestAutoRoutingImprovedTest\\:\\:withRoutes\\(\\) has parameter \\$routes with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestAutoRoutingImprovedTest\\:\\:withSession\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: booleanNot.exprNotBoolean - 'message' => '#^Only booleans are allowed in a negated boolean, CodeIgniter\\\\Router\\\\RouteCollection\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$request of method CodeIgniter\\\\CodeIgniter\\:\\:setRequest\\(\\) expects CodeIgniter\\\\HTTP\\\\CLIRequest\\|CodeIgniter\\\\HTTP\\\\IncomingRequest, CodeIgniter\\\\HTTP\\\\Request given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#3 \\$params of method CodeIgniter\\\\Test\\\\FeatureTestAutoRoutingImprovedTest\\:\\:populateGlobals\\(\\) expects non\\-empty\\-array\\|null, array\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: nullCoalesce.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$session \\(array\\) on left side of \\?\\? is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestAutoRoutingImprovedTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'test\' directly on offset \'HTTPS\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning string directly on offset \'REQUEST_METHOD\' of \\$_SERVER is discouraged\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestTraitTest\\:\\:call\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestTraitTest\\:\\:delete\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestTraitTest\\:\\:get\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestTraitTest\\:\\:options\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestTraitTest\\:\\:patch\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestTraitTest\\:\\:populateGlobals\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestTraitTest\\:\\:post\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestTraitTest\\:\\:provideOpenCliRoutesFromHttpGot404\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestTraitTest\\:\\:put\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestTraitTest\\:\\:setRequestBody\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestTraitTest\\:\\:withHeaders\\(\\) has parameter \\$headers with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestTraitTest\\:\\:withRoutes\\(\\) has parameter \\$routes with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\FeatureTestTraitTest\\:\\:withSession\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: booleanNot.exprNotBoolean - 'message' => '#^Only booleans are allowed in a negated boolean, CodeIgniter\\\\Router\\\\RouteCollection\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$request of method CodeIgniter\\\\CodeIgniter\\:\\:setRequest\\(\\) expects CodeIgniter\\\\HTTP\\\\CLIRequest\\|CodeIgniter\\\\HTTP\\\\IncomingRequest, CodeIgniter\\\\HTTP\\\\Request given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#3 \\$params of method CodeIgniter\\\\Test\\\\FeatureTestTraitTest\\:\\:populateGlobals\\(\\) expects non\\-empty\\-array\\|null, array\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: nullCoalesce.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\CIUnitTestCase\\:\\:\\$session \\(array\\) on left side of \\?\\? is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FeatureTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: empty.notAllowed - 'message' => '#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FilterTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\FilterTestTraitTest\\:\\:assertHasFilters\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FilterTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\FilterTestTraitTest\\:\\:assertNotFilter\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FilterTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Test\\\\FilterTestTraitTest\\:\\:assertNotHasFilters\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FilterTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.callable - 'message' => '#^Method CodeIgniter\\\\Test\\\\FilterTestTraitTest\\:\\:getFilterCaller\\(\\) return type has no signature specified for Closure\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FilterTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: if.condNotBoolean - 'message' => '#^Only booleans are allowed in an if condition, array\\ given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FilterTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: nullCoalesce.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\FilterTestTraitTest\\:\\:\\$request \\(CodeIgniter\\\\HTTP\\\\RequestInterface\\) on left side of \\?\\?\\= is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FilterTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: nullCoalesce.property - 'message' => '#^Property CodeIgniter\\\\Test\\\\FilterTestTraitTest\\:\\:\\$response \\(CodeIgniter\\\\HTTP\\\\ResponseInterface\\) on left side of \\?\\?\\= is not nullable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/FilterTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: variable.undefined - 'message' => '#^Variable \\$result might not be defined\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Test/FilterTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\IniTestTraitTest\\:\\:backupIniValues\\(\\) has parameter \\$keys with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/IniTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Test\\\\IniTestTraitTest\\:\\:\\$iniSettings type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/IniTestTraitTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestLoggerTest\\:\\:provideDidLogMethod\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/TestLoggerTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponseTest\\:\\:getTestResponse\\(\\) has parameter \\$headers with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/TestResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponseTest\\:\\:getTestResponse\\(\\) has parameter \\$responseOptions with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/TestResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Test\\\\TestResponseTest\\:\\:provideHttpStatusCodes\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/TestResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$body of method CodeIgniter\\\\HTTP\\\\Response\\:\\:setJSON\\(\\) expects array\\|object\\|string, false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/TestResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$body of method CodeIgniter\\\\HTTP\\\\Response\\:\\:setJSON\\(\\) expects array\\|object\\|string, true given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Test/TestResponseTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Throttle\\\\ThrottleTest\\:\\:provideTokenTimeCalculationUCs\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Throttle/ThrottleTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Throttle\\\\ThrottleTest\\:\\:testTokenTimeCalculationUCs\\(\\) has parameter \\$checkInputs with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Throttle/ThrottleTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\CreditCardRulesTest\\:\\:calculateLuhnChecksum\\(\\) has parameter \\$digits with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/CreditCardRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\CreditCardRulesTest\\:\\:provideValidCCNumber\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/CreditCardRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$config of class CodeIgniter\\\\Validation\\\\Validation constructor expects Config\\\\Validation, stdClass given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/CreditCardRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\CreditCardRulesTest\\:\\:\\$config type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/CreditCardRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Validation\\\\DatabaseRelatedRulesTest\\:\\:createRules\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/DatabaseRelatedRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\DatabaseRelatedRulesTest\\:\\:\\$config type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/DatabaseRelatedRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$config of class CodeIgniter\\\\Validation\\\\Validation constructor expects Config\\\\Validation, stdClass given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FileRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\FileRulesTest\\:\\:\\$config type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FileRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.nameCase - 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertSame\\(\\) with incorrect case\\: assertsame$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:alphaNumericProvider\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideAlpha\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideAlphaDash\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideAlphaNumericPunct\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideAlphaSpace\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideBase64\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideDecimal\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideHex\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideInteger\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideInvalidIntegerType\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideJson\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideNatural\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideNaturalNoZero\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideNumeric\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideString\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideTimeZone\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideValidDate\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideValidEmail\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideValidEmails\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideValidIP\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:provideValidUrl\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$config of class CodeIgniter\\\\Validation\\\\Validation constructor expects Config\\\\Validation, stdClass given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\FormatRulesTest\\:\\:\\$config type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideDiffers\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideEquals\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideExactLength\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideFieldExists\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideGreaterThan\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideGreaterThanEqual\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideIfExist\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideInList\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideLessThan\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideLessThanEqual\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideMatches\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideMatchesNestedCases\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideMinLengthCases\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:providePermitEmpty\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideRequired\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideRequiredWith\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideRequiredWithAndOtherRuleWithValueZero\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideRequiredWithAndOtherRules\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideRequiredWithout\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideRequiredWithoutMultiple\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:provideRequiredWithoutMultipleWithoutFields\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:testDiffers\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:testDiffersNested\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:testEquals\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:testFieldExists\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:testFieldExists\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:testIfExist\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:testIfExist\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:testMatches\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:testMatchesNested\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:testPermitEmpty\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:testPermitEmpty\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:testRequired\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:testRequiredWithAndOtherRuleWithValueZero\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:testRequiredWithAndOtherRules\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\RulesTest\\:\\:testRequiredWithoutMultipleWithoutFields\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$config of class CodeIgniter\\\\Validation\\\\Validation constructor expects Config\\\\Validation, stdClass given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\RulesTest\\:\\:\\$config type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\CreditCardRulesTest\\:\\:calculateLuhnChecksum\\(\\) has parameter \\$digits with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/CreditCardRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\CreditCardRulesTest\\:\\:provideValidCCNumber\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/CreditCardRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$config of class CodeIgniter\\\\Validation\\\\Validation constructor expects Config\\\\Validation, stdClass given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/CreditCardRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\StrictRules\\\\CreditCardRulesTest\\:\\:\\$config type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/CreditCardRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\DatabaseRelatedRulesTest\\:\\:createRules\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/DatabaseRelatedRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$config of class CodeIgniter\\\\Validation\\\\Validation constructor expects Config\\\\Validation, stdClass given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/DatabaseRelatedRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\StrictRules\\\\DatabaseRelatedRulesTest\\:\\:\\$config type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/DatabaseRelatedRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$config of class CodeIgniter\\\\Validation\\\\Validation constructor expects Config\\\\Validation, stdClass given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/FileRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\StrictRules\\\\FileRulesTest\\:\\:\\$config type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/FileRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRulesTest\\:\\:provideAlphaSpace\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRulesTest\\:\\:provideInvalidIntegerType\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\StrictRules\\\\FormatRulesTest\\:\\:\\$config type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/FormatRulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\RulesTest\\:\\:provideDiffers\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\RulesTest\\:\\:provideGreaterThanEqualStrict\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\RulesTest\\:\\:provideGreaterThanStrict\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\RulesTest\\:\\:provideLessEqualThanStrict\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\RulesTest\\:\\:provideLessThanStrict\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\RulesTest\\:\\:provideMatches\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\RulesTest\\:\\:providePermitEmptyStrict\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\RulesTest\\:\\:testDiffers\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\RulesTest\\:\\:testMatches\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\RulesTest\\:\\:testPermitEmptyStrict\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\StrictRules\\\\RulesTest\\:\\:testPermitEmptyStrict\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\StrictRules\\\\RulesTest\\:\\:\\$config type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/RulesTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\StrictRules\\\\ValidationTest\\:\\:\\$config type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/StrictRules/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccess - 'message' => '#^Accessing offset \'CONTENT_TYPE\' directly on \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: codeigniter.superglobalAccessAssign - 'message' => '#^Assigning \'application/json\' directly on offset \'CONTENT_TYPE\' of \\$_SERVER is discouraged\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:placeholderReplacementResultDetermination\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:provideCanValidatetArrayData\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:provideIfExistRuleWithAsterisk\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:provideIsIntWithInvalidTypeData\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:provideRulesForArrayField\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:provideRulesSetup\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:provideSetRuleRulesFormat\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:provideSplittingOfComplexStringRules\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:provideValidationOfArrayData\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:rule1\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:rule2\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:rule2\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:testIfExistRuleWithAsterisk\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:testIfExistRuleWithAsterisk\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:testRulesForArrayField\\(\\) has parameter \\$body with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:testRulesForArrayField\\(\\) has parameter \\$results with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:testRulesForArrayField\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:testRulesSetup\\(\\) has parameter \\$errors with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:testSplittingOfComplexStringRules\\(\\) has parameter \\$expected with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:testValidationOfArrayData\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:testValidationOfArrayData\\(\\) has parameter \\$rules with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$config of class CodeIgniter\\\\Validation\\\\Validation constructor expects Config\\\\Validation, stdClass given\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#3 \\$errors of method CodeIgniter\\\\Validation\\\\Validation\\:\\:check\\(\\) expects array\\, array\\ given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Property CodeIgniter\\\\Validation\\\\ValidationTest\\:\\:\\$config type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/Validation/ValidationTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\View\\\\DecoratorsTest\\:\\:\\$loader \\(CodeIgniter\\\\Autoloader\\\\FileLocator\\) does not accept CodeIgniter\\\\Autoloader\\\\FileLocatorInterface\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/DecoratorsTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\View\\\\ParserFilterTest\\:\\:\\$loader \\(CodeIgniter\\\\Autoloader\\\\FileLocator\\) does not accept CodeIgniter\\\\Autoloader\\\\FileLocatorInterface\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/ParserFilterTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.return - 'message' => '#^Method CodeIgniter\\\\View\\\\ParserPluginTest\\:\\:setHints\\(\\) has no return type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/ParserPluginTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.parameter - 'message' => '#^Method CodeIgniter\\\\View\\\\ParserPluginTest\\:\\:setHints\\(\\) has parameter \\$output with no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/ParserPluginTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\View\\\\ParserPluginTest\\:\\:\\$validator \\(CodeIgniter\\\\Validation\\\\Validation\\) does not accept CodeIgniter\\\\Validation\\\\ValidationInterface\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/ParserPluginTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\ParserTest\\:\\:provideEscHandling\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/ParserTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method class@anonymous/tests/system/View/ParserTest\\.php\\:340\\:\\:toArray\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/ParserTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$context of method CodeIgniter\\\\View\\\\Parser\\:\\:setData\\(\\) expects \'attr\'\\|\'css\'\\|\'html\'\\|\'js\'\\|\'raw\'\\|\'url\'\\|null, \'unknown\' given\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/tests/system/View/ParserTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\View\\\\ParserTest\\:\\:\\$loader \\(CodeIgniter\\\\Autoloader\\\\FileLocator\\) does not accept CodeIgniter\\\\Autoloader\\\\FileLocatorInterface\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/ParserTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/View/ParserTest\\.php\\:340\\:\\:\\$bar has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/ParserTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.property - 'message' => '#^Property class@anonymous/tests/system/View/ParserTest\\.php\\:340\\:\\:\\$foo has no type specified\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/ParserTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\View\\\\Table\\:\\:compileTemplate\\(\\)\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/View/TableTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\View\\\\Table\\:\\:defaultTemplate\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/TableTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\View\\\\Table\\:\\:prepArgs\\(\\)\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/View/TableTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\View\\\\Table\\:\\:setFromArray\\(\\)\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/tests/system/View/TableTest.php', -]; -$ignoreErrors[] = [ - // identifier: method.notFound - 'message' => '#^Call to an undefined method CodeIgniter\\\\View\\\\Table\\:\\:setFromDBResult\\(\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/TableTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\DBResultDummy\\:\\:getFieldNames\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/TableTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\DBResultDummy\\:\\:getResultArray\\(\\) return type has no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/TableTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\TableTest\\:\\:orderedColumnUsecases\\(\\) return type has no value type specified in iterable type iterable\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/TableTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\TableTest\\:\\:testAddRowAndGenerateOrderedColumns\\(\\) has parameter \\$heading with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/TableTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\TableTest\\:\\:testAddRowAndGenerateOrderedColumns\\(\\) has parameter \\$row with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/TableTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\TableTest\\:\\:testGenerateOrderedColumns\\(\\) has parameter \\$heading with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/TableTest.php', -]; -$ignoreErrors[] = [ - // identifier: missingType.iterableValue - 'message' => '#^Method CodeIgniter\\\\View\\\\TableTest\\:\\:testGenerateOrderedColumns\\(\\) has parameter \\$row with no value type specified in iterable type array\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/TableTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#1 \\$array of method CodeIgniter\\\\View\\\\Table\\:\\:makeColumns\\(\\) expects array\\, string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/TableTest.php', -]; -$ignoreErrors[] = [ - // identifier: argument.type - 'message' => '#^Parameter \\#2 \\$columnLimit of method CodeIgniter\\\\View\\\\Table\\:\\:makeColumns\\(\\) expects int, string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/TableTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\View\\\\Table\\:\\:\\$function \\(\\(callable\\(\\)\\: mixed\\)\\|null\\) does not accept \'ticklemyfancy\'\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/TableTest.php', -]; -$ignoreErrors[] = [ - // identifier: assign.propertyType - 'message' => '#^Property CodeIgniter\\\\View\\\\ViewTest\\:\\:\\$loader \\(CodeIgniter\\\\Autoloader\\\\FileLocator\\) does not accept CodeIgniter\\\\Autoloader\\\\FileLocatorInterface\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/tests/system/View/ViewTest.php', -]; - -return ['parameters' => ['ignoreErrors' => $ignoreErrors]]; diff --git a/phpstan.neon.dist b/phpstan.neon.dist index c67aa93fcb04..6be39bbef050 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -1,11 +1,5 @@ -services: - - - class: Utils\PHPStan\CheckUseStatementsAfterLicenseRule - tags: - - phpstan.rules.rule - includes: - - phpstan-baseline.php + - utils/phpstan-baseline/loader.neon parameters: phpVersion: 80100 @@ -18,7 +12,6 @@ parameters: - app - system - tests - - utils/src/PHPStan excludePaths: - app/Views/errors/cli/* - app/Views/errors/html/* @@ -40,5 +33,10 @@ parameters: allRules: false disallowedLooseComparison: true booleansInConditions: true - disallowedConstructs: true + disallowedBacktick: true + disallowedEmpty: true + disallowedImplicitArrayCreation: true + disallowedShortTernary: true matchingInheritedMethodNames: true + shipmonkBaselinePerIdentifier: + directory: %currentWorkingDirectory% diff --git a/rector.php b/rector.php index e16de7bae441..ee8621691862 100644 --- a/rector.php +++ b/rector.php @@ -12,22 +12,15 @@ */ use Rector\Caching\ValueObject\Storage\FileCacheStorage; -use Rector\CodeQuality\Rector\BooleanAnd\SimplifyEmptyArrayCheckRector; -use Rector\CodeQuality\Rector\Class_\CompleteDynamicPropertiesRector; use Rector\CodeQuality\Rector\Empty_\SimplifyEmptyCheckOnEmptyArrayRector; use Rector\CodeQuality\Rector\Expression\InlineIfToExplicitIfRector; use Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector; use Rector\CodeQuality\Rector\FuncCall\ChangeArrayPushToArrayAssignRector; -use Rector\CodeQuality\Rector\FuncCall\SimplifyStrposLowerRector; -use Rector\CodeQuality\Rector\FuncCall\SingleInArrayToCompareRector; +use Rector\CodeQuality\Rector\FuncCall\CompactToVariablesRector; use Rector\CodeQuality\Rector\FunctionLike\SimplifyUselessVariableRector; -use Rector\CodeQuality\Rector\If_\CombineIfRector; -use Rector\CodeQuality\Rector\If_\ExplicitBoolCompareRector; +use Rector\CodeQuality\Rector\Identical\FlipTypeControlToUseExclusiveTypeRector; use Rector\CodeQuality\Rector\If_\ShortenElseIfRector; -use Rector\CodeQuality\Rector\If_\SimplifyIfElseToTernaryRector; -use Rector\CodeQuality\Rector\If_\SimplifyIfReturnBoolRector; use Rector\CodeQuality\Rector\Ternary\TernaryEmptyArrayArrayDimFetchToCoalesceRector; -use Rector\CodeQuality\Rector\Ternary\UnnecessaryTernaryExpressionRector; use Rector\CodingStyle\Rector\ClassMethod\FuncGetArgsToVariadicParamRector; use Rector\CodingStyle\Rector\ClassMethod\MakeInheritedMethodVisibilitySameAsParentRector; use Rector\CodingStyle\Rector\FuncCall\CountArrayToEmptyArrayComparisonRector; @@ -43,18 +36,18 @@ use Rector\Php55\Rector\String_\StringClassNameToClassConstantRector; use Rector\Php70\Rector\FuncCall\RandomFunctionRector; use Rector\Php80\Rector\Class_\ClassPropertyAssignToConstructorPromotionRector; -use Rector\Php80\Rector\FunctionLike\MixedTypeRector; use Rector\Php81\Rector\FuncCall\NullToStrictStringFuncCallArgRector; use Rector\PHPUnit\CodeQuality\Rector\Class_\YieldDataProviderRector; -use Rector\PHPUnit\Set\PHPUnitSetList; use Rector\Privatization\Rector\Property\PrivatizeFinalClassPropertyRector; use Rector\Strict\Rector\Empty_\DisallowedEmptyRuleFixerRector; use Rector\Strict\Rector\If_\BooleanInIfConditionRuleFixerRector; use Rector\TypeDeclaration\Rector\ClassMethod\AddMethodCallBasedStrictParamTypeRector; use Rector\TypeDeclaration\Rector\ClassMethod\ReturnNeverTypeRector; use Rector\TypeDeclaration\Rector\Closure\AddClosureVoidReturnTypeWhereNoReturnRector; +use Rector\TypeDeclaration\Rector\Closure\ClosureReturnTypeRector; use Rector\TypeDeclaration\Rector\Empty_\EmptyOnNullableObjectToInstanceOfRector; use Rector\TypeDeclaration\Rector\Function_\AddFunctionVoidReturnTypeWhereNoReturnRector; +use Rector\TypeDeclaration\Rector\Property\TypedPropertyFromAssignsRector; use Rector\TypeDeclaration\Rector\StmtsAwareInterface\DeclareStrictTypesRector; use Utils\Rector\PassStrictParameterToFunctionParameterRector; use Utils\Rector\RemoveErrorSuppressInTryCatchStmtsRector; @@ -62,11 +55,8 @@ return RectorConfig::configure() ->withPhpSets(php81: true) - ->withPreparedSets(deadCode: true) - ->withSets([ - PHPUnitSetList::PHPUNIT_CODE_QUALITY, - PHPUnitSetList::PHPUNIT_100, - ]) + ->withPreparedSets(deadCode: true, instanceOf: true, strictBooleans: true, phpunitCodeQuality: true) + ->withComposerBased(phpunit: true) ->withParallel(120, 8, 10) ->withCache( // Github action cache or local @@ -88,6 +78,7 @@ __DIR__ . '/phpstan.neon.dist', __DIR__ . '/vendor/codeigniter/phpstan-codeigniter/extension.neon', __DIR__ . '/vendor/phpstan/phpstan-strict-rules/rules.neon', + __DIR__ . '/vendor/shipmonk/phpstan-baseline-per-identifier/extension.neon', ]) // is there a file you need to skip? ->withSkip([ @@ -156,7 +147,6 @@ __DIR__ . '/system/Security/Security.php', __DIR__ . '/system/Session/Session.php', ], - MixedTypeRector::class, ReturnNeverTypeRector::class => [ __DIR__ . '/system/Cache/Handlers/BaseHandler.php', @@ -176,6 +166,8 @@ // Unnecessary (string) is inserted NullToStrictStringFuncCallArgRector::class, + + CompactToVariablesRector::class, ]) // auto import fully qualified class names ->withImportNames(removeUnusedImports: true) @@ -188,35 +180,30 @@ CountArrayToEmptyArrayComparisonRector::class, ChangeNestedForeachIfsToEarlyContinueRector::class, ChangeIfElseValueAssignToEarlyReturnRector::class, - SimplifyStrposLowerRector::class, - CombineIfRector::class, - SimplifyIfReturnBoolRector::class, InlineIfToExplicitIfRector::class, PreparedValueToEarlyReturnRector::class, ShortenElseIfRector::class, - SimplifyIfElseToTernaryRector::class, UnusedForeachValueToArrayKeysRector::class, ChangeArrayPushToArrayAssignRector::class, - UnnecessaryTernaryExpressionRector::class, RemoveErrorSuppressInTryCatchStmtsRector::class, FuncGetArgsToVariadicParamRector::class, MakeInheritedMethodVisibilitySameAsParentRector::class, - SimplifyEmptyArrayCheckRector::class, SimplifyEmptyCheckOnEmptyArrayRector::class, TernaryEmptyArrayArrayDimFetchToCoalesceRector::class, EmptyOnNullableObjectToInstanceOfRector::class, DisallowedEmptyRuleFixerRector::class, PrivatizeFinalClassPropertyRector::class, - CompleteDynamicPropertiesRector::class, BooleanInIfConditionRuleFixerRector::class, - SingleInArrayToCompareRector::class, VersionCompareFuncCallToConstantRector::class, - ExplicitBoolCompareRector::class, AddClosureVoidReturnTypeWhereNoReturnRector::class, AddFunctionVoidReturnTypeWhereNoReturnRector::class, AddMethodCallBasedStrictParamTypeRector::class, + TypedPropertyFromAssignsRector::class, + ClosureReturnTypeRector::class, + FlipTypeControlToUseExclusiveTypeRector::class, ]) ->withConfiguredRule(StringClassNameToClassConstantRector::class, [ // keep '\\' prefix string on string '\Foo\Bar' StringClassNameToClassConstantRector::SHOULD_KEEP_PRE_SLASH => true, - ]); + ]) + ->withCodeQualityLevel(31); diff --git a/system/Autoloader/Autoloader.php b/system/Autoloader/Autoloader.php index 28c183f12552..b338027c9c8a 100644 --- a/system/Autoloader/Autoloader.php +++ b/system/Autoloader/Autoloader.php @@ -19,7 +19,6 @@ use Config\Autoload; use Config\Kint as KintConfig; use Config\Modules; -use Config\Services; use InvalidArgumentException; use Kint; use Kint\Renderer\CliRenderer; @@ -367,6 +366,9 @@ public function sanitizeFilename(string $filename): string return $cleanFilename; } + /** + * @param array{only?: list, exclude?: list} $composerPackages + */ private function loadComposerNamespaces(ClassLoader $composer, array $composerPackages): void { $namespacePaths = $composer->getPrefixesPsr4(); @@ -380,7 +382,7 @@ private function loadComposerNamespaces(ClassLoader $composer, array $composerPa } } - if (! method_exists(InstalledVersions::class, 'getAllRawData')) { + if (! method_exists(InstalledVersions::class, 'getAllRawData')) { // @phpstan-ignore function.alreadyNarrowedType throw new RuntimeException( 'Your Composer version is too old.' . ' Please update Composer (run `composer self-update`) to v2.0.14 or later' @@ -537,7 +539,7 @@ private function configureKint(): void Kint::$plugins = $config->plugins; } - $csp = Services::csp(); + $csp = service('csp'); if ($csp->enabled()) { RichRenderer::$js_nonce = $csp->getScriptNonce(); RichRenderer::$css_nonce = $csp->getStyleNonce(); diff --git a/system/Autoloader/FileLocator.php b/system/Autoloader/FileLocator.php index 14b9a1366ab4..8e2564e00941 100644 --- a/system/Autoloader/FileLocator.php +++ b/system/Autoloader/FileLocator.php @@ -145,10 +145,11 @@ public function getClassname(string $file): string if ((isset($tokens[$i - 2][1]) && ($tokens[$i - 2][1] === 'phpnamespace' || $tokens[$i - 2][1] === 'namespace')) || ($dlm && $tokens[$i - 1][0] === T_NS_SEPARATOR && $token[0] === T_STRING)) { if (! $dlm) { - $namespace = 0; + $namespace = ''; } + if (isset($token[1])) { - $namespace = $namespace ? $namespace . '\\' . $token[1] : $token[1]; + $namespace = $namespace !== '' ? $namespace . '\\' . $token[1] : $token[1]; $dlm = true; } } elseif ($dlm && ($token[0] !== T_NS_SEPARATOR) && ($token[0] !== T_STRING)) { @@ -194,8 +195,9 @@ public function search(string $path, string $ext = 'php', bool $prioritizeApp = foreach ($this->getNamespaces() as $namespace) { if (isset($namespace['path']) && is_file($namespace['path'] . $path)) { - $fullPath = $namespace['path'] . $path; - $fullPath = realpath($fullPath) ?: $fullPath; + $fullPath = $namespace['path'] . $path; + $resolvedPath = realpath($fullPath); + $fullPath = $resolvedPath !== false ? $resolvedPath : $fullPath; if ($prioritizeApp) { $foundPaths[] = $fullPath; @@ -272,14 +274,16 @@ protected function getNamespaces() */ public function findQualifiedNameFromPath(string $path) { - $path = realpath($path) ?: $path; + $resolvedPath = realpath($path); + $path = $resolvedPath !== false ? $resolvedPath : $path; if (! is_file($path)) { return false; } foreach ($this->getNamespaces() as $namespace) { - $namespace['path'] = realpath($namespace['path']) ?: $namespace['path']; + $resolvedNamespacePath = realpath($namespace['path']); + $namespace['path'] = $resolvedNamespacePath !== false ? $resolvedNamespacePath : $namespace['path']; if ($namespace['path'] === '') { continue; @@ -331,8 +335,9 @@ public function listFiles(string $path): array helper('filesystem'); foreach ($this->getNamespaces() as $namespace) { - $fullPath = $namespace['path'] . $path; - $fullPath = realpath($fullPath) ?: $fullPath; + $fullPath = $namespace['path'] . $path; + $resolvedPath = realpath($fullPath); + $fullPath = $resolvedPath !== false ? $resolvedPath : $fullPath; if (! is_dir($fullPath)) { continue; @@ -365,8 +370,9 @@ public function listNamespaceFiles(string $prefix, string $path): array // autoloader->getNamespace($prefix) returns an array of paths for that namespace foreach ($this->autoloader->getNamespace($prefix) as $namespacePath) { - $fullPath = rtrim($namespacePath, '/') . '/' . $path; - $fullPath = realpath($fullPath) ?: $fullPath; + $fullPath = rtrim($namespacePath, '/') . '/' . $path; + $resolvedPath = realpath($fullPath); + $fullPath = $resolvedPath !== false ? $resolvedPath : $fullPath; if (! is_dir($fullPath)) { continue; @@ -392,8 +398,9 @@ public function listNamespaceFiles(string $prefix, string $path): array */ protected function legacyLocate(string $file, ?string $folder = null) { - $path = APPPATH . ($folder === null ? $file : $folder . '/' . $file); - $path = realpath($path) ?: $path; + $path = APPPATH . ($folder === null ? $file : $folder . '/' . $file); + $resolvedPath = realpath($path); + $path = $resolvedPath !== false ? $resolvedPath : $path; if (is_file($path)) { return $path; diff --git a/system/Autoloader/FileLocatorCached.php b/system/Autoloader/FileLocatorCached.php index adf453308de3..8b17399444c6 100644 --- a/system/Autoloader/FileLocatorCached.php +++ b/system/Autoloader/FileLocatorCached.php @@ -36,6 +36,8 @@ final class FileLocatorCached implements FileLocatorInterface * [ * 'search' => [$path => $foundPaths], * ] + * + * @var array> */ private array $cache = []; @@ -114,6 +116,9 @@ public function getClassname(string $file): string return $classname; } + /** + * @return list + */ public function search(string $path, string $ext = 'php', bool $prioritizeApp = true): array { if (isset($this->cache['search'][$path][$ext][$prioritizeApp])) { diff --git a/system/Autoloader/FileLocatorInterface.php b/system/Autoloader/FileLocatorInterface.php index 3f7355a8f09d..3a1112dd480e 100644 --- a/system/Autoloader/FileLocatorInterface.php +++ b/system/Autoloader/FileLocatorInterface.php @@ -53,6 +53,8 @@ public function getClassname(string $file): string; * 'app/Modules/foo/Config/Routes.php', * 'app/Modules/bar/Config/Routes.php', * ] + * + * @return list */ public function search(string $path, string $ext = 'php', bool $prioritizeApp = true): array; diff --git a/system/BaseModel.php b/system/BaseModel.php index 2b364bdc1917..05c5459d8c4b 100644 --- a/system/BaseModel.php +++ b/system/BaseModel.php @@ -26,7 +26,6 @@ use CodeIgniter\Pager\Pager; use CodeIgniter\Validation\ValidationInterface; use Config\Feature; -use Config\Services; use InvalidArgumentException; use ReflectionClass; use ReflectionException; @@ -47,7 +46,7 @@ * - 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} @@ -571,8 +570,8 @@ abstract public function countAllResults(bool $reset = true, bool $test = false) * Loops over records in batches, allowing you to operate on them. * This method works only with dbCalls. * - * @param int $size Size - * @param Closure $userFunc Callback Function + * @param int $size Size + * @param Closure(array|object): mixed $userFunc Callback Function * * @return void * @@ -640,7 +639,7 @@ public function findColumn(string $columnName) $resultSet = $this->doFindColumn($columnName); - return $resultSet ? array_column($resultSet, $columnName) : null; + return $resultSet !== null ? array_column($resultSet, $columnName) : null; } /** @@ -1138,7 +1137,7 @@ public function delete($id = null, bool $purge = false) throw new InvalidArgumentException('delete(): argument #1 ($id) should not be boolean.'); } - if ($id && (is_numeric($id) || is_string($id))) { + if (! in_array($id, [null, 0, '0'], true) && (is_numeric($id) || is_string($id))) { $id = [$id]; } @@ -1251,7 +1250,7 @@ public function errors(bool $forceDB = false) } // Do we have validation errors? - if (! $forceDB && ! $this->skipValidation && ($errors = $this->validation->getErrors())) { + if (! $forceDB && ! $this->skipValidation && ($errors = $this->validation->getErrors()) !== []) { return $errors; } @@ -1609,7 +1608,7 @@ public function getValidationRules(array $options = []): array protected function ensureValidation(): void { if ($this->validation === null) { - $this->validation = Services::validation(null, false); + $this->validation = service('validation', null, false); } } @@ -1800,8 +1799,6 @@ protected function objectToRawArray($object, bool $onlyChanged = true, bool $rec // Loop over each property, // saving the name/value in a new array we can return. foreach ($props as $prop) { - // Must make protected values accessible. - $prop->setAccessible(true); $properties[$prop->getName()] = $prop->getValue($object); } } diff --git a/system/Boot.php b/system/Boot.php index 54468a5cc192..4b2d20ca95b6 100644 --- a/system/Boot.php +++ b/system/Boot.php @@ -196,7 +196,16 @@ protected static function definePathConstants(Paths $paths): void // The path to the writable directory. if (! defined('WRITEPATH')) { - define('WRITEPATH', realpath(rtrim($paths->writableDirectory, '\\/ ')) . DIRECTORY_SEPARATOR); + $writePath = realpath(rtrim($paths->writableDirectory, '\\/ ')); + + if ($writePath === false) { + header('HTTP/1.1 503 Service Unavailable.', true, 503); + echo 'The WRITEPATH is not set correctly.'; + + // EXIT_ERROR is not yet defined + exit(1); + } + define('WRITEPATH', $writePath . DIRECTORY_SEPARATOR); } // The path to the tests directory @@ -246,12 +255,12 @@ protected static function loadAutoloader(): void protected static function autoloadHelpers(): void { - Services::autoloader()->loadHelpers(); + service('autoloader')->loadHelpers(); } protected static function setExceptionHandler(): void { - Services::exceptions()->initialize(); + service('exceptions')->initialize(); } protected static function checkMissingExtensions(): void @@ -290,7 +299,7 @@ protected static function checkMissingExtensions(): void protected static function initializeKint(): void { - Services::autoloader()->initializeKint(CI_DEBUG); + service('autoloader')->initializeKint(CI_DEBUG); } protected static function loadConfigCache(): FactoriesCache @@ -308,7 +317,7 @@ protected static function loadConfigCache(): FactoriesCache */ protected static function initializeCodeIgniter(): CodeIgniter { - $app = Config\Services::codeigniter(); + $app = service('codeigniter'); $app->initialize(); $context = is_cli() ? 'php-cli' : 'web'; $app->setContext($context); diff --git a/system/CLI/CLI.php b/system/CLI/CLI.php index bfe1511eed02..0b5b01b179aa 100644 --- a/system/CLI/CLI.php +++ b/system/CLI/CLI.php @@ -14,7 +14,6 @@ namespace CodeIgniter\CLI; use CodeIgniter\CLI\Exceptions\CLIException; -use Config\Services; use InvalidArgumentException; use Throwable; @@ -226,12 +225,12 @@ public static function prompt(string $field, $options = null, $validation = null $extraOutput = ''; $default = ''; - if ($validation && ! is_array($validation) && ! is_string($validation)) { + if (isset($validation) && ! is_array($validation) && ! is_string($validation)) { throw new InvalidArgumentException('$rules can only be of type string|array'); } if (! is_array($validation)) { - $validation = $validation ? explode('|', $validation) : []; + $validation = ($validation !== null) ? explode('|', $validation) : []; } if (is_string($options)) { @@ -349,7 +348,7 @@ public static function promptByMultipleKeys(string $text, array $options): array // return the prompt again if $input contain(s) non-numeric character, except a comma. // And if max from $options less than max from input, // it means user tried to access null value in $options - if (! $pattern || $maxOptions < $maxInput) { + if ($pattern === 0 || $maxOptions < $maxInput) { static::error('Please select correctly.'); CLI::newLine(); @@ -416,7 +415,7 @@ protected static function validate(string $field, string $value, $rules): bool { $label = $field; $field = 'temp'; - $validation = Services::validation(null, false); + $validation = service('validation', null, false); $validation->setRules([ $field => [ 'label' => $label, @@ -442,7 +441,7 @@ protected static function validate(string $field, string $value, $rules): bool */ public static function print(string $text = '', ?string $foreground = null, ?string $background = null) { - if ($foreground || $background) { + if ((string) $foreground !== '' || (string) $background !== '') { $text = static::color($text, $foreground, $background); } @@ -458,7 +457,7 @@ public static function print(string $text = '', ?string $foreground = null, ?str */ public static function write(string $text = '', ?string $foreground = null, ?string $background = null) { - if ($foreground || $background) { + if ((string) $foreground !== '' || (string) $background !== '') { $text = static::color($text, $foreground, $background); } @@ -481,7 +480,7 @@ public static function error(string $text, string $foreground = 'light_red', ?st $stdout = static::$isColored; static::$isColored = static::hasColorSupport(STDERR); - if ($foreground || $background) { + if ($foreground !== '' || (string) $background !== '') { $text = static::color($text, $foreground, $background); } @@ -514,7 +513,7 @@ public static function beep(int $num = 1) */ public static function wait(int $seconds, bool $countdown = false) { - if ($countdown === true) { + if ($countdown) { $time = $seconds; while ($time > 0) { @@ -590,7 +589,7 @@ public static function color(string $text, string $foreground, ?string $backgrou throw CLIException::forInvalidColor('foreground', $foreground); } - if ($background !== null && ! array_key_exists($background, static::$background_colors)) { + if ((string) $background !== '' && ! array_key_exists($background, static::$background_colors)) { throw CLIException::forInvalidColor('background', $background); } @@ -638,7 +637,7 @@ private static function getColoredText(string $text, string $foreground, ?string { $string = "\033[" . static::$foreground_colors[$foreground] . 'm'; - if ($background !== null) { + if ((string) $background !== '') { $string .= "\033[" . static::$background_colors[$background] . 'm'; } @@ -655,7 +654,7 @@ private static function getColoredText(string $text, string $foreground, ?string */ public static function strlen(?string $string): int { - if ($string === null) { + if ((string) $string === '') { return 0; } @@ -769,7 +768,7 @@ public static function generateDimensions() // Look for the next lines ending in ": " // Searching for "Columns:" or "Lines:" will fail on non-English locales - if ($return === 0 && $output && preg_match('/:\s*(\d+)\n[^:]+:\s*(\d+)\n/', implode("\n", $output), $matches)) { + if ($return === 0 && $output !== [] && preg_match('/:\s*(\d+)\n[^:]+:\s*(\d+)\n/', implode("\n", $output), $matches)) { static::$height = (int) $matches[1]; static::$width = (int) $matches[2]; } @@ -836,7 +835,7 @@ public static function showProgress($thisStep = 1, int $totalSteps = 10) */ public static function wrap(?string $string = null, int $max = 0, int $padLeft = 0): string { - if ($string === null || $string === '') { + if ((string) $string === '') { return ''; } diff --git a/system/Cache/Handlers/BaseHandler.php b/system/Cache/Handlers/BaseHandler.php index 43d316f87b0d..2e35864f5aba 100644 --- a/system/Cache/Handlers/BaseHandler.php +++ b/system/Cache/Handlers/BaseHandler.php @@ -67,7 +67,7 @@ public static function validateKey($key, $prefix = ''): string } $reserved = config(Cache::class)->reservedCharacters ?? self::RESERVED_CHARACTERS; - if ($reserved && strpbrk($key, $reserved) !== false) { + if ($reserved !== '' && strpbrk($key, $reserved) !== false) { throw new InvalidArgumentException('Cache key contains reserved characters ' . $reserved); } diff --git a/system/Cache/Handlers/FileHandler.php b/system/Cache/Handlers/FileHandler.php index cf45a6544e27..525616a71068 100644 --- a/system/Cache/Handlers/FileHandler.php +++ b/system/Cache/Handlers/FileHandler.php @@ -308,7 +308,7 @@ protected function deleteFiles(string $path, bool $delDir = false, bool $htdocs if ($filename !== '.' && $filename !== '..') { if (is_dir($path . DIRECTORY_SEPARATOR . $filename) && $filename[0] !== '.') { $this->deleteFiles($path . DIRECTORY_SEPARATOR . $filename, $delDir, $htdocs, $_level + 1); - } elseif ($htdocs !== true || ! preg_match('/^(\.htaccess|index\.(html|htm|php)|web\.config)$/i', $filename)) { + } elseif (! $htdocs || preg_match('/^(\.htaccess|index\.(html|htm|php)|web\.config)$/i', $filename) !== 1) { @unlink($path . DIRECTORY_SEPARATOR . $filename); } } @@ -316,7 +316,7 @@ protected function deleteFiles(string $path, bool $delDir = false, bool $htdocs closedir($currentDir); - return ($delDir === true && $_level > 0) ? @rmdir($path) : true; + return ($delDir && $_level > 0) ? @rmdir($path) : true; } /** @@ -337,13 +337,13 @@ protected function getDirFileInfo(string $sourceDir, bool $topLevelOnly = true, $relativePath = $sourceDir; if ($fp = @opendir($sourceDir)) { - // reset the array and make sure $source_dir has a trailing slash on the initial call + // reset the array and make sure $sourceDir has a trailing slash on the initial call if ($_recursion === false) { $_filedata = []; $sourceDir = rtrim(realpath($sourceDir) ?: $sourceDir, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR; } - // Used to be foreach (scandir($source_dir, 1) as $file), but scandir() is simply not as fast + // Used to be foreach (scandir($sourceDir, 1) as $file), but scandir() is simply not as fast while (false !== ($file = readdir($fp))) { if (is_dir($sourceDir . $file) && $file[0] !== '.' && $topLevelOnly === false) { $this->getDirFileInfo($sourceDir . $file . DIRECTORY_SEPARATOR, $topLevelOnly, true); diff --git a/system/Cache/Handlers/PredisHandler.php b/system/Cache/Handlers/PredisHandler.php index 59e35aa4208f..fc0185033d64 100644 --- a/system/Cache/Handlers/PredisHandler.php +++ b/system/Cache/Handlers/PredisHandler.php @@ -19,6 +19,7 @@ use Exception; use Predis\Client; use Predis\Collection\Iterator\Keyspace; +use Predis\Response\Status; /** * Predis cache handler @@ -121,7 +122,7 @@ public function save(string $key, $value, int $ttl = 60) return false; } - if (! $this->redis->hmset($key, ['__ci_type' => $dataType, '__ci_value' => $value])) { + if (! $this->redis->hmset($key, ['__ci_type' => $dataType, '__ci_value' => $value]) instanceof Status) { return false; } diff --git a/system/Cache/Handlers/RedisHandler.php b/system/Cache/Handlers/RedisHandler.php index 22f4e43540dd..6cd43506bdb5 100644 --- a/system/Cache/Handlers/RedisHandler.php +++ b/system/Cache/Handlers/RedisHandler.php @@ -108,7 +108,7 @@ public function initialize() public function get(string $key) { $key = static::validateKey($key, $this->prefix); - $data = $this->redis->hMGet($key, ['__ci_type', '__ci_value']); + $data = $this->redis->hMget($key, ['__ci_type', '__ci_value']); if (! isset($data['__ci_type'], $data['__ci_value']) || $data['__ci_value'] === false) { return null; @@ -147,7 +147,7 @@ public function save(string $key, $value, int $ttl = 60) return false; } - if (! $this->redis->hMSet($key, ['__ci_type' => $dataType, '__ci_value' => $value])) { + if (! $this->redis->hMset($key, ['__ci_type' => $dataType, '__ci_value' => $value])) { return false; } diff --git a/system/CodeIgniter.php b/system/CodeIgniter.php index 48fbc9d77e23..af1ef4ed1e25 100644 --- a/system/CodeIgniter.php +++ b/system/CodeIgniter.php @@ -56,7 +56,7 @@ class CodeIgniter /** * The current version of CodeIgniter Framework */ - public const CI_VERSION = '4.5.5'; + public const CI_VERSION = '4.5.6'; /** * App startup time. @@ -819,7 +819,7 @@ protected function tryToRouteIt(?RouteCollectionInterface $routes = null) { $this->benchmark->start('routing'); - if ($routes === null) { + if (! $routes instanceof RouteCollectionInterface) { $routes = service('routes')->loadRoutes(); } diff --git a/system/Commands/ListCommands.php b/system/Commands/ListCommands.php index 3411b103430d..8761e2bb7bbc 100644 --- a/system/Commands/ListCommands.php +++ b/system/Commands/ListCommands.php @@ -71,6 +71,8 @@ class ListCommands extends BaseCommand /** * Displays the help for the spark cli script itself. + * + * @return int */ public function run(array $params) { @@ -78,7 +80,7 @@ public function run(array $params) ksort($commands); // Check for 'simple' format - return array_key_exists('simple', $params) || CLI::getOption('simple') + return array_key_exists('simple', $params) || CLI::getOption('simple') === true ? $this->listSimple($commands) : $this->listFull($commands); } @@ -86,7 +88,7 @@ public function run(array $params) /** * Lists the commands with accompanying info. * - * @return void + * @return int */ protected function listFull(array $commands) { @@ -124,17 +126,21 @@ protected function listFull(array $commands) CLI::newLine(); } } + + return EXIT_SUCCESS; } /** * Lists the commands only. * - * @return void + * @return int */ protected function listSimple(array $commands) { foreach (array_keys($commands) as $title) { CLI::write($title); } + + return EXIT_SUCCESS; } } diff --git a/system/Commands/Server/Serve.php b/system/Commands/Server/Serve.php index 82e58998a732..594e4e587e27 100644 --- a/system/Commands/Server/Serve.php +++ b/system/Commands/Server/Serve.php @@ -110,7 +110,7 @@ public function run(array $params) // to ensure our environment is set and it simulates basic mod_rewrite. passthru($php . ' -S ' . $host . ':' . $port . ' -t ' . $docroot . ' ' . $rewrite, $status); - if ($status && $this->portOffset < $this->tries) { + if ($status !== EXIT_SUCCESS && $this->portOffset < $this->tries) { $this->portOffset++; $this->run($params); diff --git a/system/Commands/Utilities/Routes.php b/system/Commands/Utilities/Routes.php index 9adcc1bc39e7..a0f81f6b42a0 100644 --- a/system/Commands/Utilities/Routes.php +++ b/system/Commands/Utilities/Routes.php @@ -86,7 +86,7 @@ public function run(array $params) $host = $params['host'] ?? null; // Set HTTP_HOST - if ($host) { + if ($host !== null) { $request = service('request'); $_SERVER = $request->getServer(); $_SERVER['HTTP_HOST'] = $host; @@ -96,7 +96,7 @@ public function run(array $params) $collection = service('routes')->loadRoutes(); // Reset HTTP_HOST - if ($host) { + if ($host !== null) { unset($_SERVER['HTTP_HOST']); } @@ -139,7 +139,9 @@ public function run(array $params) $autoRoutes = $autoRouteCollector->get(); // Check for Module Routes. - if ($routingConfig = config(Routing::class)) { + $routingConfig = config(Routing::class); + + if ($routingConfig instanceof Routing) { foreach ($routingConfig->moduleRoutes as $uri => $namespace) { $autoRouteCollector = new AutoRouteCollectorImproved( $namespace, @@ -188,7 +190,7 @@ public function run(array $params) usort($tbody, static fn ($handler1, $handler2) => strcmp($handler1[3], $handler2[3])); } - if ($host) { + if ($host !== null) { CLI::write('Host: ' . $host); } diff --git a/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php b/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php index 579969346637..f6a4f371858a 100644 --- a/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php +++ b/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollector.php @@ -36,7 +36,7 @@ public function __construct( private readonly string $defaultMethod, private readonly array $httpMethods, private readonly array $protectedControllers, - private string $prefix = '' + private readonly string $prefix = '' ) { } @@ -122,8 +122,10 @@ private function addFilters($routes) $filtersShortest = $filterCollector->get($route['method'], $routePath . $sampleUri); // Get common array elements - $filters['before'] = array_intersect($filtersLongest['before'], $filtersShortest['before']); - $filters['after'] = array_intersect($filtersLongest['after'], $filtersShortest['after']); + $filters = [ + 'before' => array_intersect($filtersLongest['before'], $filtersShortest['before']), + 'after' => array_intersect($filtersLongest['after'], $filtersShortest['after']), + ]; $route['before'] = implode(' ', array_map(class_basename(...), $filters['before'])); $route['after'] = implode(' ', array_map(class_basename(...), $filters['after'])); diff --git a/system/Commands/Utilities/Routes/AutoRouterImproved/ControllerMethodReader.php b/system/Commands/Utilities/Routes/AutoRouterImproved/ControllerMethodReader.php index e08a16ff7a60..2755a389ffc3 100644 --- a/system/Commands/Utilities/Routes/AutoRouterImproved/ControllerMethodReader.php +++ b/system/Commands/Utilities/Routes/AutoRouterImproved/ControllerMethodReader.php @@ -221,7 +221,7 @@ private function getRouteForDefaultController( if ($classShortname === $defaultController) { $pattern = '#' . preg_quote(lcfirst($defaultController), '#') . '\z#'; $routeWithoutController = rtrim(preg_replace($pattern, '', $uriByClass), '/'); - $routeWithoutController = $routeWithoutController ?: '/'; + $routeWithoutController = $routeWithoutController !== '' && $routeWithoutController !== '0' ? $routeWithoutController : '/'; [$params, $routeParams] = $this->getParameters($method); diff --git a/system/Commands/Utilities/Routes/ControllerMethodReader.php b/system/Commands/Utilities/Routes/ControllerMethodReader.php index c443b669465a..b40a832b4f48 100644 --- a/system/Commands/Utilities/Routes/ControllerMethodReader.php +++ b/system/Commands/Utilities/Routes/ControllerMethodReader.php @@ -161,7 +161,7 @@ private function getRouteWithoutController( $pattern = '#' . preg_quote(lcfirst($defaultController), '#') . '\z#'; $routeWithoutController = rtrim(preg_replace($pattern, '', $uriByClass), '/'); - $routeWithoutController = $routeWithoutController ?: '/'; + $routeWithoutController = $routeWithoutController !== '' && $routeWithoutController !== '0' ? $routeWithoutController : '/'; return [[ 'route' => $routeWithoutController, diff --git a/system/Commands/Utilities/Routes/FilterCollector.php b/system/Commands/Utilities/Routes/FilterCollector.php index 002a529b953e..b646dcb250a1 100644 --- a/system/Commands/Utilities/Routes/FilterCollector.php +++ b/system/Commands/Utilities/Routes/FilterCollector.php @@ -13,7 +13,6 @@ namespace CodeIgniter\Commands\Utilities\Routes; -use CodeIgniter\Config\Services; use CodeIgniter\Filters\Filters; use CodeIgniter\HTTP\Method; use CodeIgniter\HTTP\Request; @@ -68,7 +67,7 @@ public function get(string $method, string $uri): array ]; } - $request = Services::incomingrequest(null, false); + $request = service('incomingrequest', null, false); $request->setMethod($method); $router = $this->createRouter($request); @@ -86,7 +85,7 @@ public function get(string $method, string $uri): array */ public function getRequiredFilters(): array { - $request = Services::incomingrequest(null, false); + $request = service('incomingrequest', null, false); $request->setMethod(Method::GET); $router = $this->createRouter($request); diff --git a/system/Common.php b/system/Common.php index dcc9487c588f..b647c9d247ad 100644 --- a/system/Common.php +++ b/system/Common.php @@ -441,7 +441,7 @@ function esc($data, string $context = 'html', ?string $encoding = null) $escaper = new Escaper($encoding); } - if ($encoding && $escaper->getEncoding() !== $encoding) { + if ($encoding !== null && $escaper->getEncoding() !== $encoding) { $escaper = new Escaper($encoding); } @@ -580,8 +580,8 @@ function helper($filenames): void foreach ($filenames as $filename) { // Store our system and application helper // versions so that we can control the load ordering. - $systemHelper = null; - $appHelper = null; + $systemHelper = ''; + $appHelper = ''; $localIncludes = []; if (! str_contains($filename, '_helper')) { @@ -598,7 +598,7 @@ function helper($filenames): void if (str_contains($filename, '\\')) { $path = $loader->locateFile($filename, 'Helpers'); - if (empty($path)) { + if ($path !== '') { throw FileNotFoundException::forFileNotFound($filename); } @@ -620,7 +620,7 @@ function helper($filenames): void } // App-level helpers should override all others - if (! empty($appHelper)) { + if ($appHelper !== '') { $includes[] = $appHelper; $loaded[] = $filename; } @@ -629,7 +629,7 @@ function helper($filenames): void $includes = [...$includes, ...$localIncludes]; // And the system default one should be added in last. - if (! empty($systemHelper)) { + if ($systemHelper !== '') { $includes[] = $systemHelper; $loaded[] = $filename; } @@ -739,13 +739,13 @@ function lang(string $line, array $args = [], ?string $locale = null) // Get active locale $activeLocale = $language->getLocale(); - if ($locale && $locale !== $activeLocale) { + if ((string) $locale !== '' && $locale !== $activeLocale) { $language->setLocale($locale); } $lines = $language->getLine($line, $args); - if ($locale && $locale !== $activeLocale) { + if ((string) $locale !== '' && $locale !== $activeLocale) { // Reset to active locale $language->setLocale($activeLocale); } @@ -849,7 +849,7 @@ function redirect(?string $route = null): RedirectResponse { $response = service('redirectresponse'); - if ($route !== null) { + if ((string) $route !== '') { return $response->route($route); } @@ -869,7 +869,7 @@ function _solidus(?DocTypes $docTypesConfig = null): string { static $docTypes = null; - if ($docTypesConfig !== null) { + if ($docTypesConfig instanceof DocTypes) { $docTypes = $docTypesConfig; } @@ -1092,7 +1092,7 @@ function stringify_attributes($attributes, bool $js = false): string { $atts = ''; - if (empty($attributes)) { + if ($attributes === '' || $attributes === [] || $attributes === null) { return $atts; } diff --git a/system/Config/DotEnv.php b/system/Config/DotEnv.php index db7152fd09d5..d4a7d9e87389 100644 --- a/system/Config/DotEnv.php +++ b/system/Config/DotEnv.php @@ -94,7 +94,7 @@ public function parse(): ?array */ protected function setVariable(string $name, string $value = '') { - if (! getenv($name, true)) { + if (getenv($name, true) === false) { putenv("{$name}={$value}"); } diff --git a/system/Config/Factories.php b/system/Config/Factories.php index d98664a24a7b..b845d5825f43 100644 --- a/system/Config/Factories.php +++ b/system/Config/Factories.php @@ -37,7 +37,7 @@ final class Factories * * @var array> */ - private static $options = []; + private static array $options = []; /** * Explicit options for the Config @@ -65,7 +65,7 @@ final class Factories * * @var array> */ - private static $aliases = []; + private static array $aliases = []; /** * Store for instances of any component that @@ -78,7 +78,7 @@ final class Factories * * @var array> */ - private static $instances = []; + private static array $instances = []; /** * Whether the component instances are updated? @@ -87,7 +87,7 @@ final class Factories * * @internal For caching only */ - private static $updated = []; + private static array $updated = []; /** * Define the class to load. You can *override* the concrete class. @@ -162,7 +162,7 @@ public static function __callStatic(string $component, array $arguments) } // Try to locate the class - if (! $class = self::locateClass($options, $alias)) { + if (($class = self::locateClass($options, $alias)) === null) { return null; } @@ -213,7 +213,7 @@ private static function getDefinedInstance(array $options, string $alias, array } // Try to locate the class - if (! $class = self::locateClass($options, $alias)) { + if (($class = self::locateClass($options, $alias)) === null) { return null; } @@ -310,7 +310,7 @@ class_exists($alias, false) } // No namespace? Search for it // Check all namespaces, prioritizing App and modules - elseif (! $files = $locator->search($options['path'] . DIRECTORY_SEPARATOR . $alias)) { + elseif (($files = $locator->search($options['path'] . DIRECTORY_SEPARATOR . $alias)) === []) { return null; } diff --git a/system/Config/Services.php b/system/Config/Services.php index e37b1278e9a7..aa8c180a3388 100644 --- a/system/Config/Services.php +++ b/system/Config/Services.php @@ -202,7 +202,7 @@ public static function csp(?CSPConfig $config = null, bool $getShared = true) */ public static function curlrequest(array $options = [], ?ResponseInterface $response = null, ?App $config = null, bool $getShared = true) { - if ($getShared === true) { + if ($getShared) { return static::getSharedInstance('curlrequest', $options, $response, $config); } @@ -211,7 +211,7 @@ public static function curlrequest(array $options = [], ?ResponseInterface $resp return new CURLRequest( $config, - new URI($options['base_uri'] ?? null), + new URI($options['baseURI'] ?? null), $response, $options ); @@ -230,7 +230,7 @@ public static function email($config = null, bool $getShared = true) return static::getSharedInstance('email', $config); } - if (empty($config) || ! (is_array($config) || $config instanceof EmailConfig)) { + if (empty($config) || (! is_array($config) && ! $config instanceof EmailConfig)) { $config = config(EmailConfig::class); } @@ -345,7 +345,7 @@ public static function image(?string $handler = null, ?Images $config = null, bo $config ??= config(Images::class); assert($config instanceof Images); - $handler = $handler ?: $config->defaultHandler; + $handler = $handler !== null && $handler !== '' && $handler !== '0' ? $handler : $config->defaultHandler; $class = $config->handlers[$handler]; return new $class($config); @@ -385,7 +385,7 @@ public static function language(?string $locale = null, bool $getShared = true) } // Use '?:' for empty string check - $locale = $locale ?: $requestLocale; + $locale = $locale !== null && $locale !== '' && $locale !== '0' ? $locale : $requestLocale; return new Language($locale); } @@ -484,7 +484,7 @@ public static function parser(?string $viewPath = null, ?ViewConfig $config = nu return static::getSharedInstance('parser', $viewPath, $config); } - $viewPath = $viewPath ?: (new Paths())->viewDirectory; + $viewPath = $viewPath !== null && $viewPath !== '' && $viewPath !== '0' ? $viewPath : (new Paths())->viewDirectory; $config ??= config(ViewConfig::class); return new Parser($config, $viewPath, AppServices::get('locator'), CI_DEBUG, AppServices::get('logger')); @@ -503,7 +503,7 @@ public static function renderer(?string $viewPath = null, ?ViewConfig $config = return static::getSharedInstance('renderer', $viewPath, $config); } - $viewPath = $viewPath ?: (new Paths())->viewDirectory; + $viewPath = $viewPath !== null && $viewPath !== '' && $viewPath !== '0' ? $viewPath : (new Paths())->viewDirectory; $config ??= config(ViewConfig::class); return new View($config, $viewPath, AppServices::get('locator'), CI_DEBUG, AppServices::get('logger')); @@ -705,7 +705,7 @@ public static function session(?SessionConfig $config = null, bool $getShared = // See https://www.php.net/manual/en/function.session-cache-limiter.php. // The headers are not managed by CI's Response class. // So, we remove CI's default Cache-Control header. - AppServices::response()->removeHeader('Cache-Control'); + AppServices::get('response')->removeHeader('Cache-Control'); $session->start(); } diff --git a/system/Controller.php b/system/Controller.php index fc0c41bf18fa..9c6e7ee36a63 100644 --- a/system/Controller.php +++ b/system/Controller.php @@ -15,6 +15,7 @@ use CodeIgniter\HTTP\CLIRequest; use CodeIgniter\HTTP\Exceptions\HTTPException; +use CodeIgniter\HTTP\Exceptions\RedirectException; use CodeIgniter\HTTP\IncomingRequest; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; @@ -77,7 +78,7 @@ class Controller * * @return void * - * @throws HTTPException + * @throws HTTPException|RedirectException */ public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger) { @@ -105,7 +106,7 @@ public function initController(RequestInterface $request, ResponseInterface $res * * @return void * - * @throws HTTPException + * @throws HTTPException|RedirectException */ protected function forceHTTPS(int $duration = 31_536_000) { diff --git a/system/Cookie/Cookie.php b/system/Cookie/Cookie.php index 01b10db19b65..d75cce26ac09 100644 --- a/system/Cookie/Cookie.php +++ b/system/Cookie/Cookie.php @@ -482,7 +482,7 @@ public function withNeverExpiring() */ public function withPath(?string $path) { - $path = $path ?: self::$defaults['path']; + $path = $path !== null && $path !== '' && $path !== '0' ? $path : self::$defaults['path']; $this->validatePrefix($this->prefix, $this->secure, $path, $this->domain); $cookie = clone $this; diff --git a/system/Database/BaseBuilder.php b/system/Database/BaseBuilder.php index 9d5a02db9f6e..e738a331d608 100644 --- a/system/Database/BaseBuilder.php +++ b/system/Database/BaseBuilder.php @@ -579,7 +579,7 @@ public function distinct(bool $val = true) */ public function from($from, bool $overwrite = false): self { - if ($overwrite === true) { + if ($overwrite) { $this->QBFrom = []; $this->db->setAliasedTables([]); } @@ -769,7 +769,7 @@ protected function whereHaving(string $qbKey, $key, $value = null, string $type foreach ($keyValue as $k => $v) { $prefix = empty($this->{$qbKey}) ? $this->groupGetType('') : $this->groupGetType($type); - if ($rawSqlOnly === true) { + if ($rawSqlOnly) { $k = ''; $op = ''; } elseif ($v !== null) { @@ -836,7 +836,7 @@ protected function whereHaving(string $qbKey, $key, $value = null, string $type * Generates a WHERE field IN('item', 'item') SQL query, * joined with 'AND' if appropriate. * - * @param array|BaseBuilder|Closure|string $values The values searched on, or anonymous function with subquery + * @param array|BaseBuilder|(Closure(BaseBuilder): BaseBuilder)|null $values The values searched on, or anonymous function with subquery * * @return $this */ @@ -849,7 +849,7 @@ public function whereIn(?string $key = null, $values = null, ?bool $escape = nul * Generates a WHERE field IN('item', 'item') SQL query, * joined with 'OR' if appropriate. * - * @param array|BaseBuilder|Closure|string $values The values searched on, or anonymous function with subquery + * @param array|BaseBuilder|(Closure(BaseBuilder): BaseBuilder)|null $values The values searched on, or anonymous function with subquery * * @return $this */ @@ -862,7 +862,7 @@ public function orWhereIn(?string $key = null, $values = null, ?bool $escape = n * Generates a WHERE field NOT IN('item', 'item') SQL query, * joined with 'AND' if appropriate. * - * @param array|BaseBuilder|Closure|string $values The values searched on, or anonymous function with subquery + * @param array|BaseBuilder|(Closure(BaseBuilder): BaseBuilder)|null $values The values searched on, or anonymous function with subquery * * @return $this */ @@ -875,7 +875,7 @@ public function whereNotIn(?string $key = null, $values = null, ?bool $escape = * Generates a WHERE field NOT IN('item', 'item') SQL query, * joined with 'OR' if appropriate. * - * @param array|BaseBuilder|Closure|string $values The values searched on, or anonymous function with subquery + * @param array|BaseBuilder|(Closure(BaseBuilder): BaseBuilder)|null $values The values searched on, or anonymous function with subquery * * @return $this */ @@ -888,7 +888,7 @@ public function orWhereNotIn(?string $key = null, $values = null, ?bool $escape * Generates a HAVING field IN('item', 'item') SQL query, * joined with 'AND' if appropriate. * - * @param array|BaseBuilder|Closure|string $values The values searched on, or anonymous function with subquery + * @param array|BaseBuilder|(Closure(BaseBuilder): BaseBuilder)|null $values The values searched on, or anonymous function with subquery * * @return $this */ @@ -901,7 +901,7 @@ public function havingIn(?string $key = null, $values = null, ?bool $escape = nu * Generates a HAVING field IN('item', 'item') SQL query, * joined with 'OR' if appropriate. * - * @param array|BaseBuilder|Closure|string $values The values searched on, or anonymous function with subquery + * @param array|BaseBuilder|(Closure(BaseBuilder): BaseBuilder)|null $values The values searched on, or anonymous function with subquery * * @return $this */ @@ -914,7 +914,7 @@ public function orHavingIn(?string $key = null, $values = null, ?bool $escape = * Generates a HAVING field NOT IN('item', 'item') SQL query, * joined with 'AND' if appropriate. * - * @param array|BaseBuilder|Closure|string $values The values searched on, or anonymous function with subquery + * @param array|BaseBuilder|(Closure(BaseBuilder):BaseBuilder)|null $values The values searched on, or anonymous function with subquery * * @return $this */ @@ -927,7 +927,7 @@ public function havingNotIn(?string $key = null, $values = null, ?bool $escape = * Generates a HAVING field NOT IN('item', 'item') SQL query, * joined with 'OR' if appropriate. * - * @param array|BaseBuilder|Closure|string $values The values searched on, or anonymous function with subquery + * @param array|BaseBuilder|(Closure(BaseBuilder): BaseBuilder)|null $values The values searched on, or anonymous function with subquery * * @return $this */ @@ -942,8 +942,8 @@ public function orHavingNotIn(?string $key = null, $values = null, ?bool $escape * @used-by whereNotIn() * @used-by orWhereNotIn() * - * @param non-empty-string|null $key - * @param array|BaseBuilder|Closure|null $values The values searched on, or anonymous function with subquery + * @param non-empty-string|null $key + * @param array|BaseBuilder|(Closure(BaseBuilder): BaseBuilder)|null $values The values searched on, or anonymous function with subquery * * @return $this * @@ -1150,8 +1150,8 @@ protected function _like($field, string $match = '', string $type = 'AND ', stri $keyValue = ! is_array($field) ? [$field => $match] : $field; foreach ($keyValue as $k => $v) { - if ($insensitiveSearch === true) { - $v = strtolower($v); + if ($insensitiveSearch) { + $v = mb_strtolower($v, 'UTF-8'); } $prefix = empty($this->{$clause}) ? $this->groupGetType('') : $this->groupGetType($type); @@ -1187,7 +1187,7 @@ protected function _like($field, string $match = '', string $type = 'AND ', stri */ protected function _like_statement(?string $prefix, string $column, ?string $not, string $bind, bool $insensitiveSearch = false): string { - if ($insensitiveSearch === true) { + if ($insensitiveSearch) { return "{$prefix} LOWER(" . $this->db->escapeIdentifiers($column) . ") {$not} LIKE :{$bind}:"; } @@ -1197,7 +1197,7 @@ protected function _like_statement(?string $prefix, string $column, ?string $not /** * Add UNION statement * - * @param BaseBuilder|Closure $union + * @param BaseBuilder|Closure(BaseBuilder): BaseBuilder $union * * @return $this */ @@ -1209,7 +1209,7 @@ public function union($union) /** * Add UNION ALL statement * - * @param BaseBuilder|Closure $union + * @param BaseBuilder|Closure(BaseBuilder): BaseBuilder $union * * @return $this */ @@ -1222,7 +1222,7 @@ public function unionAll($union) * @used-by union() * @used-by unionAll() * - * @param BaseBuilder|Closure $union + * @param BaseBuilder|Closure(BaseBuilder): BaseBuilder $union * * @return $this */ @@ -1599,7 +1599,7 @@ public function getCompiledSelect(bool $reset = true): string { $select = $this->compileSelect(); - if ($reset === true) { + if ($reset) { $this->resetSelect(); } @@ -1643,7 +1643,7 @@ public function get(?int $limit = null, int $offset = 0, bool $reset = true) ? $this->getCompiledSelect($reset) : $this->db->query($this->compileSelect(), $this->binds, false); - if ($reset === true) { + if ($reset) { $this->resetSelect(); // Clear our binds so we don't eat up memory @@ -1678,7 +1678,7 @@ public function countAll(bool $reset = true) $query = $query->getRow(); - if ($reset === true) { + if ($reset) { $this->resetSelect(); } @@ -1727,7 +1727,7 @@ public function countAllResults(bool $reset = true) $result = $this->db->query($sql, $this->binds, false); - if ($reset === true) { + if ($reset) { $this->resetSelect(); } elseif (! isset($this->QBOrderBy)) { $this->QBOrderBy = $orderBy; @@ -1736,7 +1736,7 @@ public function countAllResults(bool $reset = true) // Restore the LIMIT setting $this->QBLimit = $limit; - $row = ! $result instanceof ResultInterface ? null : $result->getRow(); + $row = $result instanceof ResultInterface ? $result->getRow() : null; if (empty($row)) { return 0; @@ -1781,7 +1781,7 @@ public function getWhere($where = null, ?int $limit = null, ?int $offset = 0, bo ? $this->getCompiledSelect($reset) : $this->db->query($this->compileSelect(), $this->binds, false); - if ($reset === true) { + if ($reset) { $this->resetSelect(); // Clear our binds so we don't eat up memory @@ -2297,7 +2297,7 @@ public function getCompiledInsert(bool $reset = true) array_values($this->QBSet) ); - if ($reset === true) { + if ($reset) { $this->resetWrite(); } @@ -2466,7 +2466,7 @@ public function getCompiledUpdate(bool $reset = true) $sql = $this->_update($this->QBFrom[0], $this->QBSet); - if ($reset === true) { + if ($reset) { $this->resetWrite(); } @@ -3167,11 +3167,11 @@ protected function compileWhereHaving(string $qbKey): string $op = $this->getOperator($condition); if ( $op === false - || ! preg_match( + || preg_match( '/^(\(?)(.*)(' . preg_quote($op, '/') . ')\s*(.*(?connID) { @@ -610,7 +610,7 @@ abstract protected function execute(string $sql); */ public function query(string $sql, $binds = null, bool $setEscapeFlags = true, string $queryClass = '') { - $queryClass = $queryClass ?: $this->queryClass; + $queryClass = $queryClass !== '' && $queryClass !== '0' ? $queryClass : $this->queryClass; if (empty($this->connID)) { $this->initialize(); @@ -684,7 +684,7 @@ public function query(string $sql, $binds = null, bool $setEscapeFlags = true, s // Let others do something with this query. Events::trigger('DBQuery', $query); - if ($exception !== null) { + if ($exception instanceof DatabaseException) { throw new DatabaseException( $exception->getMessage(), $exception->getCode(), @@ -846,9 +846,9 @@ public function transBegin(bool $testMode = false): bool } // Reset the transaction failure flag. - // If the $test_mode flag is set to TRUE transactions will be rolled back + // If the $testMode flag is set to TRUE transactions will be rolled back // even if the queries produce a successful result. - $this->transFailure = ($testMode === true); + $this->transFailure = $testMode; if ($this->_transBegin()) { $this->transDepth++; @@ -959,6 +959,8 @@ public function newQuery(): BaseBuilder * ->get(); * }) * + * @param Closure(BaseConnection): mixed $func + * * @return BasePreparedQuery|null */ public function prepare(Closure $func, array $options = []) @@ -1124,7 +1126,7 @@ public function protectIdentifiers($item, bool $prefixSingle = false, ?bool $pro $item = preg_replace('/^' . $this->swapPre . '(\S+?)/', $this->DBPrefix . '\\1', $item); } // Do we prefix an item with no segments? - elseif ($prefixSingle === true && ! str_starts_with($item, $this->DBPrefix)) { + elseif ($prefixSingle && ! str_starts_with($item, $this->DBPrefix)) { $item = $this->DBPrefix . $item; } } @@ -1147,7 +1149,7 @@ private function protectDotItem(string $item, string $alias, bool $protectIdenti // NOTE: The ! empty() condition prevents this method // from breaking when QB isn't enabled. if (! empty($this->aliasedTables) && in_array($parts[0], $this->aliasedTables, true)) { - if ($protectIdentifiers === true) { + if ($protectIdentifiers) { foreach ($parts as $key => $val) { if (! in_array($val, $this->reservedIdentifiers, true)) { $parts[$key] = $this->escapeIdentifiers($val); @@ -1198,7 +1200,7 @@ private function protectDotItem(string $item, string $alias, bool $protectIdenti $item = implode('.', $parts); } - if ($protectIdentifiers === true) { + if ($protectIdentifiers) { $item = $this->escapeIdentifiers($item); } @@ -1372,7 +1374,7 @@ public function escapeString($str, bool $like = false) $str = $this->_escapeString($str); // escape LIKE condition wildcards - if ($like === true) { + if ($like) { return str_replace( [ $this->likeEscapeChar, @@ -1501,7 +1503,7 @@ public function listTables(bool $constrainByPrefix = false) */ public function tableExists(string $tableName, bool $cached = true): bool { - if ($cached === true) { + if ($cached) { return in_array($this->protectIdentifiers($tableName, true, false, false), $this->listTables(), true); } diff --git a/system/Database/BasePreparedQuery.php b/system/Database/BasePreparedQuery.php index 8c4f252cfb7e..6ba2f6eb5a43 100644 --- a/system/Database/BasePreparedQuery.php +++ b/system/Database/BasePreparedQuery.php @@ -259,4 +259,12 @@ public function getErrorMessage(): string { return $this->errorString; } + + /** + * Whether the input contain binary data. + */ + protected function isBinary(string $input): bool + { + return mb_detect_encoding($input, 'UTF-8', true) === false; + } } diff --git a/system/Database/Database.php b/system/Database/Database.php index 23b6cd0f8d16..e09dcdd27481 100644 --- a/system/Database/Database.php +++ b/system/Database/Database.php @@ -96,7 +96,7 @@ protected function parseDSN(array $params): array { $dsn = parse_url($params['DSN']); - if (! $dsn) { + if ($dsn === 0 || $dsn === '' || $dsn === '0' || $dsn === [] || $dsn === false || $dsn === null) { throw new InvalidArgumentException('Your DSN connection string is invalid.'); } diff --git a/system/Database/Forge.php b/system/Database/Forge.php index 595cd6156b5f..fc9aa54ec169 100644 --- a/system/Database/Forge.php +++ b/system/Database/Forge.php @@ -32,9 +32,9 @@ class Forge protected $db; /** - * List of fields. + * List of fields in the form `[name => attributes]` * - * @var array [name => attributes] + * @var array|string> */ protected $fields = []; @@ -449,12 +449,12 @@ public function addForeignKey( */ public function dropKey(string $table, string $keyName, bool $prefixKeyName = true): bool { - $keyName = $this->db->escapeIdentifiers(($prefixKeyName === true ? $this->db->DBPrefix : '') . $keyName); + $keyName = $this->db->escapeIdentifiers(($prefixKeyName ? $this->db->DBPrefix : '') . $keyName); $table = $this->db->escapeIdentifiers($this->db->DBPrefix . $table); $dropKeyAsConstraint = $this->dropKeyAsConstraint($table, $keyName); - if ($dropKeyAsConstraint === true) { + if ($dropKeyAsConstraint) { $sql = sprintf( $this->dropConstraintStr, $table, @@ -559,7 +559,7 @@ public function createTable(string $table, bool $ifNotExists = false, array $att } // If table exists lets stop here - if ($ifNotExists === true && $this->db->tableExists($table, false)) { + if ($ifNotExists && $this->db->tableExists($table, false)) { $this->reset(); return true; @@ -573,7 +573,7 @@ public function createTable(string $table, bool $ifNotExists = false, array $att } // Most databases don't support creating indexes from within the CREATE TABLE statement - if (! empty($this->keys)) { + if ($this->keys !== []) { for ($i = 0, $sqls = $this->_processIndexes($table), $c = count($sqls); $i < $c; $i++) { $this->db->query($sqls[$i]); } @@ -650,7 +650,7 @@ public function dropTable(string $tableName, bool $ifExists = false, bool $casca return false; } - if ($this->db->DBPrefix && str_starts_with($tableName, $this->db->DBPrefix)) { + if ($this->db->DBPrefix !== '' && str_starts_with($tableName, $this->db->DBPrefix)) { $tableName = substr($tableName, strlen($this->db->DBPrefix)); } @@ -895,7 +895,7 @@ protected function _processFields(bool $createTable = false): array $attributes = array_change_key_case($attributes, CASE_UPPER); - if ($createTable === true && empty($attributes['TYPE'])) { + if ($createTable && empty($attributes['TYPE'])) { continue; } @@ -942,7 +942,7 @@ protected function _processFields(bool $createTable = false): array } else { $field['null'] = ' NOT ' . $this->null; } - } elseif ($createTable === true) { + } elseif ($createTable) { $field['null'] = ' NOT ' . $this->null; } @@ -1085,7 +1085,7 @@ protected function _processPrimaryKeys(string $table, bool $asQuery = false): st } if (isset($this->primaryKeys['fields']) && $this->primaryKeys['fields'] !== []) { - if ($asQuery === true) { + if ($asQuery) { $sql .= 'ALTER TABLE ' . $this->db->escapeIdentifiers($this->db->DBPrefix . $table) . ' ADD '; } else { $sql .= ",\n\t"; @@ -1108,10 +1108,12 @@ public function processIndexes(string $table): bool $fk = $this->foreignKeys; if ($this->fields === []) { - $this->fields = array_flip(array_map( - static fn ($columnName) => $columnName->name, - $this->db->getFieldData($this->db->DBPrefix . $table) - )); + $fieldData = $this->db->getFieldData($this->db->DBPrefix . $table); + + $this->fields = array_combine( + array_map(static fn ($columnName) => $columnName->name, $fieldData), + array_fill(0, count($fieldData), []) + ); } $fields = $this->fields; @@ -1229,7 +1231,7 @@ protected function _processForeignKeys(string $table, bool $asQuery = false): ar $referenceTableFilled = $this->db->escapeIdentifiers($this->db->DBPrefix . $fkey['referenceTable']); $referenceFieldFilled = implode(', ', $this->db->escapeIdentifiers($fkey['referenceField'])); - if ($asQuery === true) { + if ($asQuery) { $sqls[$index] .= 'ALTER TABLE ' . $this->db->escapeIdentifiers($this->db->DBPrefix . $table) . ' ADD '; } else { $sqls[$index] .= ",\n\t"; diff --git a/system/Database/Migration.php b/system/Database/Migration.php index 4386b7448e80..ca9e5e0cf266 100644 --- a/system/Database/Migration.php +++ b/system/Database/Migration.php @@ -45,7 +45,7 @@ public function __construct(?Forge $forge = null) { if (isset($this->DBGroup)) { $this->forge = Database::forge($this->DBGroup); - } elseif ($forge !== null) { + } elseif ($forge instanceof Forge) { $this->forge = $forge; } else { $this->forge = Database::forge(config(Database::class)->defaultGroup); diff --git a/system/Database/MigrationRunner.php b/system/Database/MigrationRunner.php index 055b8ba6eaf3..13919c785372 100644 --- a/system/Database/MigrationRunner.php +++ b/system/Database/MigrationRunner.php @@ -19,7 +19,6 @@ use CodeIgniter\I18n\Time; use Config\Database; use Config\Migrations as MigrationsConfig; -use Config\Services; use RuntimeException; use stdClass; @@ -390,7 +389,7 @@ public function force(string $path, string $namespace, ?string $group = null) */ public function findMigrations(): array { - $namespaces = $this->namespace ? [$this->namespace] : array_keys(Services::autoloader()->getNamespace()); + $namespaces = $this->namespace !== null ? [$this->namespace] : array_keys(service('autoloader')->getNamespace()); $migrations = []; foreach ($namespaces as $namespace) { @@ -415,7 +414,7 @@ public function findMigrations(): array public function findNamespaceMigrations(string $namespace): array { $migrations = []; - $locator = Services::locator(true); + $locator = service('locator', true); if (! empty($this->path)) { helper('filesystem'); @@ -451,11 +450,11 @@ protected function migrationFromFile(string $path, string $namespace) $filename = basename($path, '.php'); - if (! preg_match($this->regex, $filename)) { + if (preg_match($this->regex, $filename) !== 1) { return false; } - $locator = Services::locator(true); + $locator = service('locator', true); $migration = new stdClass(); @@ -525,7 +524,7 @@ protected function getMigrationNumber(string $migration): string { preg_match($this->regex, $migration, $matches); - return count($matches) ? $matches[1] : '0'; + return $matches !== [] ? $matches[1] : '0'; } /** @@ -540,7 +539,7 @@ protected function getMigrationName(string $migration): string { preg_match($this->regex, $migration, $matches); - return count($matches) ? $matches[2] : ''; + return $matches !== [] ? $matches[2] : ''; } /** @@ -646,7 +645,7 @@ public function getHistory(string $group = 'default'): array } // If a namespace was specified then use it - if ($this->namespace) { + if ($this->namespace !== null) { $builder->where('namespace', $this->namespace); } @@ -701,7 +700,7 @@ public function getLastBatch(): int ->get() ->getResultObject(); - $batch = is_array($batch) && count($batch) + $batch = is_array($batch) && $batch !== [] ? end($batch)->batch : 0; @@ -726,7 +725,7 @@ public function getBatchStart(int $batch): string ->get() ->getResultObject(); - return count($migration) ? $migration[0]->version : '0'; + return $migration !== [] ? $migration[0]->version : '0'; } /** diff --git a/system/Database/MySQLi/Connection.php b/system/Database/MySQLi/Connection.php index 068dfba5b9e9..f98f51fb3e19 100644 --- a/system/Database/MySQLi/Connection.php +++ b/system/Database/MySQLi/Connection.php @@ -57,7 +57,7 @@ class Connection extends BaseConnection /** * MySQLi object * - * Has to be preserved without being assigned to $conn_id. + * Has to be preserved without being assigned to $connId. * * @var false|mysqli */ @@ -96,7 +96,7 @@ public function connect(bool $persistent = false) $port = null; $socket = $this->hostname; } else { - $hostname = ($persistent === true) ? 'p:' . $this->hostname : $this->hostname; + $hostname = $persistent ? 'p:' . $this->hostname : $this->hostname; $port = empty($this->port) ? null : $this->port; $socket = ''; } @@ -193,7 +193,7 @@ public function connect(bool $persistent = false) $clientFlags )) { // Prior to version 5.7.3, MySQL silently downgrades to an unencrypted connection if SSL setup fails - if (($clientFlags & MYSQLI_CLIENT_SSL) && version_compare($this->mysqli->client_info, 'mysqlnd 5.7.3', '<=') + if (($clientFlags & MYSQLI_CLIENT_SSL) !== 0 && version_compare($this->mysqli->client_info, 'mysqlnd 5.7.3', '<=') && empty($this->mysqli->query("SHOW STATUS LIKE 'ssl_cipher'")->fetch_object()->Value) ) { $this->mysqli->close(); @@ -297,7 +297,7 @@ public function getVersion(): string /** * Executes the query against the database. * - * @return false|mysqli_result; + * @return false|mysqli_result */ protected function execute(string $sql) { @@ -395,11 +395,11 @@ protected function _listTables(bool $prefixLimit = false, ?string $tableName = n { $sql = 'SHOW TABLES FROM ' . $this->escapeIdentifier($this->database); - if ($tableName !== null) { + if ((string) $tableName !== '') { return $sql . ' LIKE ' . $this->escape($tableName); } - if ($prefixLimit !== false && $this->DBPrefix !== '') { + if ($prefixLimit && $this->DBPrefix !== '') { return $sql . " LIKE '" . $this->escapeLikeStringDirect($this->DBPrefix) . "%'"; } @@ -462,7 +462,9 @@ protected function _indexData(string $table): array throw new DatabaseException(lang('Database.failGetIndexData')); } - if (! $indexes = $query->getResultArray()) { + $indexes = $query->getResultArray(); + + if ($indexes === []) { return []; } diff --git a/system/Database/MySQLi/Forge.php b/system/Database/MySQLi/Forge.php index 132bde1258cc..c47ff4ded393 100644 --- a/system/Database/MySQLi/Forge.php +++ b/system/Database/MySQLi/Forge.php @@ -116,11 +116,11 @@ protected function _createTableAttributes(array $attributes): string } } - if ($this->db->charset !== '' && ! strpos($sql, 'CHARACTER SET') && ! strpos($sql, 'CHARSET')) { + if ($this->db->charset !== '' && ! str_contains($sql, 'CHARACTER SET') && ! str_contains($sql, 'CHARSET')) { $sql .= ' DEFAULT CHARACTER SET = ' . $this->db->escapeString($this->db->charset); } - if ($this->db->DBCollat !== '' && ! strpos($sql, 'COLLATE')) { + if ($this->db->DBCollat !== '' && ! str_contains($sql, 'COLLATE')) { $sql .= ' COLLATE = ' . $this->db->escapeString($this->db->DBCollat); } @@ -222,7 +222,7 @@ protected function _processIndexes(string $table, bool $asQuery = false): array implode('_', $this->keys[$i]['fields']) : $this->keys[$i]['keyName']); - if ($asQuery === true) { + if ($asQuery) { $sqls[$index] = 'ALTER TABLE ' . $this->db->escapeIdentifiers($table) . " ADD {$unique}KEY " . $keyName . ' (' . implode(', ', $this->db->escapeIdentifiers($this->keys[$i]['fields'])) . ')'; diff --git a/system/Database/MySQLi/PreparedQuery.php b/system/Database/MySQLi/PreparedQuery.php index e9a6c6d10e30..34eedc25ff15 100644 --- a/system/Database/MySQLi/PreparedQuery.php +++ b/system/Database/MySQLi/PreparedQuery.php @@ -66,15 +66,19 @@ public function _execute(array $data): bool throw new BadMethodCallException('You must call prepare before trying to execute a prepared statement.'); } - // First off -bind the parameters - $bindTypes = ''; + // First off - bind the parameters + $bindTypes = ''; + $binaryData = []; // Determine the type string - foreach ($data as $item) { + foreach ($data as $key => $item) { if (is_int($item)) { $bindTypes .= 'i'; } elseif (is_numeric($item)) { $bindTypes .= 'd'; + } elseif (is_string($item) && $this->isBinary($item)) { + $bindTypes .= 'b'; + $binaryData[$key] = $item; } else { $bindTypes .= 's'; } @@ -83,6 +87,11 @@ public function _execute(array $data): bool // Bind it $this->statement->bind_param($bindTypes, ...$data); + // Stream binary data + foreach ($binaryData as $key => $value) { + $this->statement->send_long_data($key, $value); + } + try { return $this->statement->execute(); } catch (mysqli_sql_exception $e) { diff --git a/system/Database/OCI8/Builder.php b/system/Database/OCI8/Builder.php index 4423a5243a81..24a6bb53b07c 100644 --- a/system/Database/OCI8/Builder.php +++ b/system/Database/OCI8/Builder.php @@ -109,12 +109,12 @@ protected function _replace(string $table, array $keys, array $values): string { $fieldNames = array_map(static fn ($columnName) => trim($columnName, '"'), $keys); - $uniqueIndexes = array_filter($this->db->getIndexData($table), static function ($index) use ($fieldNames) { + $uniqueIndexes = array_filter($this->db->getIndexData($table), static function ($index) use ($fieldNames): bool { $hasAllFields = count(array_intersect($index->fields, $fieldNames)) === count($index->fields); return ($index->type === 'PRIMARY') && $hasAllFields; }); - $replaceableFields = array_filter($keys, static function ($columnName) use ($uniqueIndexes) { + $replaceableFields = array_filter($keys, static function ($columnName) use ($uniqueIndexes): bool { foreach ($uniqueIndexes as $index) { if (in_array(trim($columnName, '"'), $index->fields, true)) { return false; @@ -344,7 +344,7 @@ protected function _upsertBatch(string $table, array $keys, array $values): stri if (empty($constraints)) { $fieldNames = array_map(static fn ($columnName) => trim($columnName, '"'), $keys); - $uniqueIndexes = array_filter($this->db->getIndexData($table), static function ($index) use ($fieldNames) { + $uniqueIndexes = array_filter($this->db->getIndexData($table), static function ($index) use ($fieldNames): bool { $hasAllFields = count(array_intersect($index->fields, $fieldNames)) === count($index->fields); return ($index->type === 'PRIMARY' || $index->type === 'UNIQUE') && $hasAllFields; diff --git a/system/Database/OCI8/Connection.php b/system/Database/OCI8/Connection.php index 2b870b755b44..c59d588ccec1 100644 --- a/system/Database/OCI8/Connection.php +++ b/system/Database/OCI8/Connection.php @@ -274,7 +274,7 @@ protected function _listTables(bool $prefixLimit = false, ?string $tableName = n return $sql . ' WHERE "TABLE_NAME" LIKE ' . $this->escape($tableName); } - if ($prefixLimit !== false && $this->DBPrefix !== '') { + if ($prefixLimit && $this->DBPrefix !== '') { return $sql . ' WHERE "TABLE_NAME" LIKE \'' . $this->escapeLikeString($this->DBPrefix) . "%' " . sprintf($this->likeEscapeStr, $this->likeEscapeChar); } diff --git a/system/Database/OCI8/Forge.php b/system/Database/OCI8/Forge.php index 5a10363be769..7d81cff8b506 100644 --- a/system/Database/OCI8/Forge.php +++ b/system/Database/OCI8/Forge.php @@ -135,7 +135,7 @@ protected function _alterTable(string $alterType, string $table, $processedField $wantToAddNull = ! str_contains($processedFields[$i]['null'], ' NOT'); $currentNullable = $nullableMap[$processedFields[$i]['name']]; - if ($wantToAddNull === true && $currentNullable === true) { + if ($wantToAddNull && $currentNullable === true) { $processedFields[$i]['null'] = ''; } elseif ($processedFields[$i]['null'] === '' && $currentNullable === false) { // Nullable by default @@ -293,7 +293,7 @@ protected function _dropTable(string $table, bool $ifExists, bool $cascade) { $sql = parent::_dropTable($table, $ifExists, $cascade); - if ($sql !== true && $cascade === true) { + if ($sql !== true && $cascade) { $sql .= ' CASCADE CONSTRAINTS PURGE'; } elseif ($sql !== true) { $sql .= ' PURGE'; diff --git a/system/Database/OCI8/PreparedQuery.php b/system/Database/OCI8/PreparedQuery.php index c267f8061377..e1577642c3a9 100644 --- a/system/Database/OCI8/PreparedQuery.php +++ b/system/Database/OCI8/PreparedQuery.php @@ -16,6 +16,7 @@ use BadMethodCallException; use CodeIgniter\Database\BasePreparedQuery; use CodeIgniter\Database\Exceptions\DatabaseException; +use OCILob; /** * Prepared query for OCI8 @@ -73,12 +74,24 @@ public function _execute(array $data): bool throw new BadMethodCallException('You must call prepare before trying to execute a prepared statement.'); } + $binaryData = null; + foreach (array_keys($data) as $key) { - oci_bind_by_name($this->statement, ':' . $key, $data[$key]); + if (is_string($data[$key]) && $this->isBinary($data[$key])) { + $binaryData = oci_new_descriptor($this->db->connID, OCI_D_LOB); + $binaryData->writeTemporary($data[$key], OCI_TEMP_BLOB); + oci_bind_by_name($this->statement, ':' . $key, $binaryData, -1, OCI_B_BLOB); + } else { + oci_bind_by_name($this->statement, ':' . $key, $data[$key]); + } } $result = oci_execute($this->statement, $this->db->commitMode); + if ($binaryData instanceof OCILob) { + $binaryData->free(); + } + if ($result && $this->lastInsertTableName !== '') { $this->db->lastInsertedTableName = $this->lastInsertTableName; } @@ -113,7 +126,7 @@ public function parameterize(string $sql): string // Track our current value $count = 0; - return preg_replace_callback('/\?/', static function ($matches) use (&$count) { + return preg_replace_callback('/\?/', static function ($matches) use (&$count): string { return ':' . ($count++); }, $sql); } diff --git a/system/Database/Postgre/Builder.php b/system/Database/Postgre/Builder.php index 0d2dce0957ae..faae0eda8a9b 100644 --- a/system/Database/Postgre/Builder.php +++ b/system/Database/Postgre/Builder.php @@ -293,7 +293,7 @@ protected function _truncate(string $table): string */ protected function _like_statement(?string $prefix, string $column, ?string $not, string $bind, bool $insensitiveSearch = false): string { - $op = $insensitiveSearch === true ? 'ILIKE' : 'LIKE'; + $op = $insensitiveSearch ? 'ILIKE' : 'LIKE'; return "{$prefix} {$column} {$not} {$op} :{$bind}:"; } @@ -368,7 +368,7 @@ protected function _updateBatch(string $table, array $keys, array $values): stri $sql .= 'WHERE ' . implode( ' AND ', array_map( - static function ($key, $value) use ($table, $alias, $that) { + static function ($key, $value) use ($table, $alias, $that): string|RawSql { if ($value instanceof RawSql && is_string($key)) { return $table . '.' . $key . ' = ' . $value; } @@ -463,7 +463,7 @@ protected function _upsertBatch(string $table, array $keys, array $values): stri $constraints = $this->QBOptions['constraints'] ?? []; if (empty($constraints)) { - $allIndexes = array_filter($this->db->getIndexData($table), static function ($index) use ($fieldNames) { + $allIndexes = array_filter($this->db->getIndexData($table), static function ($index) use ($fieldNames): bool { $hasAllFields = count(array_intersect($index->fields, $fieldNames)) === count($index->fields); return ($index->type === 'UNIQUE' || $index->type === 'PRIMARY') && $hasAllFields; @@ -575,7 +575,7 @@ protected function _deleteBatch(string $table, array $keys, array $values): stri $sql .= 'WHERE ' . implode( ' AND ', array_map( - static function ($key, $value) use ($table, $alias, $that) { + static function ($key, $value) use ($table, $alias, $that): RawSql|string { if ($value instanceof RawSql) { return $value; } diff --git a/system/Database/Postgre/Connection.php b/system/Database/Postgre/Connection.php index ec886dbd4d8b..4ce2b0763536 100644 --- a/system/Database/Postgre/Connection.php +++ b/system/Database/Postgre/Connection.php @@ -74,11 +74,11 @@ public function connect(bool $persistent = false) $this->convertDSN(); } - $this->connID = $persistent === true ? pg_pconnect($this->DSN) : pg_connect($this->DSN); + $this->connID = $persistent ? pg_pconnect($this->DSN) : pg_connect($this->DSN); if ($this->connID !== false) { if ( - $persistent === true + $persistent && pg_connection_status($this->connID) === PGSQL_CONNECTION_BAD && pg_ping($this->connID) === false ) { @@ -149,8 +149,9 @@ private function convertDSN() */ public function reconnect() { - if (pg_ping($this->connID) === false) { - $this->connID = false; + if ($this->connID === false || pg_ping($this->connID) === false) { + $this->close(); + $this->initialize(); } } @@ -289,7 +290,7 @@ protected function _listTables(bool $prefixLimit = false, ?string $tableName = n return $sql . ' AND "table_name" LIKE ' . $this->escape($tableName); } - if ($prefixLimit !== false && $this->DBPrefix !== '') { + if ($prefixLimit && $this->DBPrefix !== '') { return $sql . ' AND "table_name" LIKE \'' . $this->escapeLikeString($this->DBPrefix) . "%' " . sprintf($this->likeEscapeStr, $this->likeEscapeChar); @@ -462,7 +463,7 @@ public function error(): array { return [ 'code' => '', - 'message' => pg_last_error($this->connID) ?: '', + 'message' => pg_last_error($this->connID), ]; } diff --git a/system/Database/Postgre/Forge.php b/system/Database/Postgre/Forge.php index 7a61bed5a57c..704f3e576047 100644 --- a/system/Database/Postgre/Forge.php +++ b/system/Database/Postgre/Forge.php @@ -118,7 +118,7 @@ protected function _alterTable(string $alterType, string $table, $processedField $nullable = false; } $sqls[] = $sql . ' ALTER COLUMN ' . $this->db->escapeIdentifiers($field['name']) - . ($nullable === true ? ' DROP' : ' SET') . ' NOT NULL'; + . ($nullable ? ' DROP' : ' SET') . ' NOT NULL'; if (! empty($field['new_name'])) { $sqls[] = $sql . ' RENAME COLUMN ' . $this->db->escapeIdentifiers($field['name']) @@ -173,6 +173,10 @@ protected function _attributeType(array &$attributes) $attributes['TYPE'] = 'TIMESTAMP'; break; + case 'BLOB': + $attributes['TYPE'] = 'BYTEA'; + break; + default: break; } @@ -195,7 +199,7 @@ protected function _dropTable(string $table, bool $ifExists, bool $cascade): str { $sql = parent::_dropTable($table, $ifExists, $cascade); - if ($cascade === true) { + if ($cascade) { $sql .= ' CASCADE'; } diff --git a/system/Database/Postgre/PreparedQuery.php b/system/Database/Postgre/PreparedQuery.php index fbea6ac14f3a..c55d5d8c5402 100644 --- a/system/Database/Postgre/PreparedQuery.php +++ b/system/Database/Postgre/PreparedQuery.php @@ -87,6 +87,12 @@ public function _execute(array $data): bool throw new BadMethodCallException('You must call prepare before trying to execute a prepared statement.'); } + foreach ($data as &$item) { + if (is_string($item) && $this->isBinary($item)) { + $item = pg_escape_bytea($this->db->connID, $item); + } + } + $this->result = pg_execute($this->db->connID, $this->name, $data); return (bool) $this->result; @@ -119,7 +125,7 @@ public function parameterize(string $sql): string // Track our current value $count = 0; - return preg_replace_callback('/\?/', static function () use (&$count) { + return preg_replace_callback('/\?/', static function () use (&$count): string { $count++; return "\${$count}"; diff --git a/system/Database/SQLSRV/Builder.php b/system/Database/SQLSRV/Builder.php index a6d0b8e85ccd..c1272cdcf326 100644 --- a/system/Database/SQLSRV/Builder.php +++ b/system/Database/SQLSRV/Builder.php @@ -518,7 +518,7 @@ public function countAll(bool $reset = true) $query = $query->getRow(); - if ($reset === true) { + if ($reset) { $this->resetSelect(); } @@ -699,7 +699,7 @@ protected function _upsertBatch(string $table, array $keys, array $values): stri if (empty($constraints)) { $tableIndexes = $this->db->getIndexData($table); - $uniqueIndexes = array_filter($tableIndexes, static function ($index) use ($fieldNames) { + $uniqueIndexes = array_filter($tableIndexes, static function ($index) use ($fieldNames): bool { $hasAllFields = count(array_intersect($index->fields, $fieldNames)) === count($index->fields); return $index->type === 'PRIMARY' && $hasAllFields; @@ -707,7 +707,7 @@ protected function _upsertBatch(string $table, array $keys, array $values): stri // if no primary found then look for unique - since indexes have no order if ($uniqueIndexes === []) { - $uniqueIndexes = array_filter($tableIndexes, static function ($index) use ($fieldNames) { + $uniqueIndexes = array_filter($tableIndexes, static function ($index) use ($fieldNames): bool { $hasAllFields = count(array_intersect($index->fields, $fieldNames)) === count($index->fields); return $index->type === 'UNIQUE' && $hasAllFields; diff --git a/system/Database/SQLSRV/Connection.php b/system/Database/SQLSRV/Connection.php index 7e008e27c451..8ded4cd02098 100644 --- a/system/Database/SQLSRV/Connection.php +++ b/system/Database/SQLSRV/Connection.php @@ -215,7 +215,7 @@ protected function _listTables(bool $prefixLimit = false, ?string $tableName = n return $sql .= ' AND [TABLE_NAME] LIKE ' . $this->escape($tableName); } - if ($prefixLimit === true && $this->DBPrefix !== '') { + if ($prefixLimit && $this->DBPrefix !== '') { $sql .= " AND [TABLE_NAME] LIKE '" . $this->escapeLikeString($this->DBPrefix) . "%' " . sprintf($this->likeEscapeStr, $this->likeEscapeChar); } @@ -368,7 +368,11 @@ protected function _fieldData(string $table): array $retVal[$i]->max_length = $query[$i]->CHARACTER_MAXIMUM_LENGTH > 0 ? $query[$i]->CHARACTER_MAXIMUM_LENGTH - : $query[$i]->NUMERIC_PRECISION; + : ( + $query[$i]->CHARACTER_MAXIMUM_LENGTH === -1 + ? 'max' + : $query[$i]->NUMERIC_PRECISION + ); $retVal[$i]->nullable = $query[$i]->IS_NULLABLE !== 'NO'; $retVal[$i]->default = $query[$i]->COLUMN_DEFAULT; diff --git a/system/Database/SQLSRV/Forge.php b/system/Database/SQLSRV/Forge.php index cae4eda2a4f5..df3d55c779c4 100644 --- a/system/Database/SQLSRV/Forge.php +++ b/system/Database/SQLSRV/Forge.php @@ -212,10 +212,10 @@ protected function _alterTable(string $alterType, string $table, $processedField $sql = <<db->escapeIdentifiers($field['name']) - . " {$field['type']}{$field['length']} " . ($nullable === true ? '' : 'NOT') . ' NULL'; + . " {$field['type']}{$field['length']} " . ($nullable ? '' : 'NOT') . ' NULL'; if (! empty($field['comment'])) { $sqls[] = 'EXEC sys.sp_addextendedproperty ' @@ -397,6 +397,11 @@ protected function _attributeType(array &$attributes) $attributes['TYPE'] = 'BIT'; break; + case 'BLOB': + $attributes['TYPE'] = 'VARBINARY'; + $attributes['CONSTRAINT'] ??= 'MAX'; + break; + default: break; } diff --git a/system/Database/SQLSRV/PreparedQuery.php b/system/Database/SQLSRV/PreparedQuery.php index f3a4a14c2bc6..425555927c60 100644 --- a/system/Database/SQLSRV/PreparedQuery.php +++ b/system/Database/SQLSRV/PreparedQuery.php @@ -59,7 +59,7 @@ public function _prepare(string $sql, array $options = []): PreparedQuery // Prepare parameters for the query $queryString = $this->getQueryString(); - $parameters = $this->parameterize($queryString); + $parameters = $this->parameterize($queryString, $options); // Prepare the query $this->statement = sqlsrv_prepare($this->db->connID, $sql, $parameters); @@ -120,8 +120,10 @@ protected function _close(): bool /** * Handle parameters. + * + * @param array $options */ - protected function parameterize(string $queryString): array + protected function parameterize(string $queryString, array $options): array { $numberOfVariables = substr_count($queryString, '?'); @@ -129,7 +131,11 @@ protected function parameterize(string $queryString): array for ($c = 0; $c < $numberOfVariables; $c++) { $this->parameters[$c] = null; - $params[] = &$this->parameters[$c]; + if (isset($options[$c])) { + $params[] = [&$this->parameters[$c], SQLSRV_PARAM_IN, $options[$c]]; + } else { + $params[] = &$this->parameters[$c]; + } } return $params; diff --git a/system/Database/SQLite3/Builder.php b/system/Database/SQLite3/Builder.php index a59270bbc0de..15fc2529aa0d 100644 --- a/system/Database/SQLite3/Builder.php +++ b/system/Database/SQLite3/Builder.php @@ -145,7 +145,7 @@ protected function _upsertBatch(string $table, array $keys, array $values): stri if (empty($constraints)) { $fieldNames = array_map(static fn ($columnName) => trim($columnName, '`'), $keys); - $allIndexes = array_filter($this->db->getIndexData($table), static function ($index) use ($fieldNames) { + $allIndexes = array_filter($this->db->getIndexData($table), static function ($index) use ($fieldNames): bool { $hasAllFields = count(array_intersect($index->fields, $fieldNames)) === count($index->fields); return ($index->type === 'PRIMARY' || $index->type === 'UNIQUE') && $hasAllFields; diff --git a/system/Database/SQLite3/Connection.php b/system/Database/SQLite3/Connection.php index 9945d41de11b..577e4b24ab76 100644 --- a/system/Database/SQLite3/Connection.php +++ b/system/Database/SQLite3/Connection.php @@ -89,7 +89,7 @@ public function connect(bool $persistent = false) $this->database = WRITEPATH . $this->database; } - $sqlite = (! $this->password) + $sqlite = (! isset($this->password) || $this->password !== '') ? new SQLite3($this->database) : new SQLite3($this->database, SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, $this->password); @@ -194,7 +194,7 @@ protected function _escapeString(string $str): string */ protected function _listTables(bool $prefixLimit = false, ?string $tableName = null): string { - if ($tableName !== null) { + if ((string) $tableName !== '') { return 'SELECT "NAME" FROM "SQLITE_MASTER" WHERE "TYPE" = \'table\'' . ' AND "NAME" NOT LIKE \'sqlite!_%\' ESCAPE \'!\'' . ' AND "NAME" LIKE ' . $this->escape($tableName); @@ -202,7 +202,7 @@ protected function _listTables(bool $prefixLimit = false, ?string $tableName = n return 'SELECT "NAME" FROM "SQLITE_MASTER" WHERE "TYPE" = \'table\'' . ' AND "NAME" NOT LIKE \'sqlite!_%\' ESCAPE \'!\'' - . (($prefixLimit !== false && $this->DBPrefix !== '') + . (($prefixLimit && $this->DBPrefix !== '') ? ' AND "NAME" LIKE \'' . $this->escapeLikeString($this->DBPrefix) . '%\' ' . sprintf($this->likeEscapeStr, $this->likeEscapeChar) : ''); } @@ -359,7 +359,7 @@ protected function _indexData(string $table): array */ protected function _foreignKeyData(string $table): array { - if ($this->supportsForeignKeys() !== true) { + if (! $this->supportsForeignKeys()) { return []; } diff --git a/system/Database/SQLite3/PreparedQuery.php b/system/Database/SQLite3/PreparedQuery.php index 21dc4c2fdeff..0e15b5d61f3b 100644 --- a/system/Database/SQLite3/PreparedQuery.php +++ b/system/Database/SQLite3/PreparedQuery.php @@ -75,6 +75,8 @@ public function _execute(array $data): bool $bindType = SQLITE3_INTEGER; } elseif (is_float($item)) { $bindType = SQLITE3_FLOAT; + } elseif (is_string($item) && $this->isBinary($item)) { + $bindType = SQLITE3_BLOB; } else { $bindType = SQLITE3_TEXT; } diff --git a/system/Database/Seeder.php b/system/Database/Seeder.php index be7cfcdf8a8c..c70a34b45e9f 100644 --- a/system/Database/Seeder.php +++ b/system/Database/Seeder.php @@ -105,7 +105,7 @@ public function __construct(Database $config, ?BaseConnection $db = null) */ public static function faker(): ?Generator { - if (self::$faker === null && class_exists(Factory::class)) { + if (! self::$faker instanceof Generator && class_exists(Factory::class)) { self::$faker = Factory::create(); } diff --git a/system/Debug/Exceptions.php b/system/Debug/Exceptions.php index e5f7ecb04881..aa353732c197 100644 --- a/system/Debug/Exceptions.php +++ b/system/Debug/Exceptions.php @@ -22,7 +22,6 @@ use CodeIgniter\HTTP\ResponseInterface; use Config\Exceptions as ExceptionsConfig; use Config\Paths; -use Config\Services; use ErrorException; use Psr\Log\LogLevel; use Throwable; @@ -126,7 +125,7 @@ public function exceptionHandler(Throwable $exception) [$statusCode, $exitCode] = $this->determineCodes($exception); - $this->request = Services::request(); + $this->request = service('request'); if ($this->config->log === true && ! in_array($statusCode, $this->config->ignoreCodes, true)) { $uri = $this->request->getPath() === '' ? '/' : $this->request->getPath(); @@ -155,7 +154,7 @@ public function exceptionHandler(Throwable $exception) } } - $this->response = Services::response(); + $this->response = service('response'); if (method_exists($this->config, 'handler')) { // Use new ExceptionHandler diff --git a/system/Debug/Toolbar.php b/system/Debug/Toolbar.php index 9f20f987f59c..b939e208fd21 100644 --- a/system/Debug/Toolbar.php +++ b/system/Debug/Toolbar.php @@ -25,7 +25,6 @@ use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; use CodeIgniter\I18n\Time; -use Config\Services; use Config\Toolbar as ToolbarConfig; use Kint\Kint; @@ -386,7 +385,7 @@ public function prepare(?RequestInterface $request = null, ?ResponseInterface $r return; } - $toolbar = Services::toolbar(config(ToolbarConfig::class)); + $toolbar = service('toolbar', config(ToolbarConfig::class)); $stats = $app->getPerformanceStats(); $data = $toolbar->run( $stats['startTime'], @@ -529,7 +528,7 @@ protected function format(string $data, string $format = 'html'): string case 'html': $data['styles'] = []; extract($data); - $parser = Services::parser($this->config->viewsPath, null, false); + $parser = service('parser', $this->config->viewsPath, null, false); ob_start(); include $this->config->viewsPath . 'toolbar.tpl.php'; $output = ob_get_clean(); diff --git a/system/Debug/Toolbar/Collectors/Database.php b/system/Debug/Toolbar/Collectors/Database.php index ee9f829b05b8..1a923a35516b 100644 --- a/system/Debug/Toolbar/Collectors/Database.php +++ b/system/Debug/Toolbar/Collectors/Database.php @@ -148,7 +148,7 @@ protected function formatTimelineData(): array public function display(): array { $data = []; - $data['queries'] = array_map(static function (array $query) { + $data['queries'] = array_map(static function (array $query): array { $isDuplicate = $query['duplicate'] === true; $firstNonSystemLine = ''; diff --git a/system/Debug/Toolbar/Collectors/Logs.php b/system/Debug/Toolbar/Collectors/Logs.php index 2194526c733e..f36dfb1d12b5 100644 --- a/system/Debug/Toolbar/Collectors/Logs.php +++ b/system/Debug/Toolbar/Collectors/Logs.php @@ -13,8 +13,6 @@ namespace CodeIgniter\Debug\Toolbar\Collectors; -use Config\Services; - /** * Loags collector */ @@ -92,6 +90,6 @@ protected function collectLogs() return $this->data; } - return $this->data = Services::logger(true)->logCache ?? []; + return $this->data = service('logger', true)->logCache ?? []; } } diff --git a/system/Debug/Toolbar/Collectors/Routes.php b/system/Debug/Toolbar/Collectors/Routes.php index b6862dcee73c..561399fbf37f 100644 --- a/system/Debug/Toolbar/Collectors/Routes.php +++ b/system/Debug/Toolbar/Collectors/Routes.php @@ -14,7 +14,6 @@ namespace CodeIgniter\Debug\Toolbar\Collectors; use CodeIgniter\Router\DefinedRouteCollector; -use Config\Services; use ReflectionException; use ReflectionFunction; use ReflectionMethod; @@ -74,8 +73,8 @@ class Routes extends BaseCollector */ public function display(): array { - $rawRoutes = Services::routes(true); - $router = Services::router(null, null, true); + $rawRoutes = service('routes', true); + $router = service('router', null, null, true); // Get our parameters // Closure routes @@ -153,7 +152,7 @@ public function display(): array */ public function getBadgeValue(): int { - $rawRoutes = Services::routes(true); + $rawRoutes = service('routes', true); return count($rawRoutes->getRoutes()); } diff --git a/system/Debug/Toolbar/Collectors/Timers.php b/system/Debug/Toolbar/Collectors/Timers.php index 163c9f5743f0..d450cc5c306a 100644 --- a/system/Debug/Toolbar/Collectors/Timers.php +++ b/system/Debug/Toolbar/Collectors/Timers.php @@ -13,8 +13,6 @@ namespace CodeIgniter\Debug\Toolbar\Collectors; -use Config\Services; - /** * Timers collector */ @@ -52,7 +50,7 @@ protected function formatTimelineData(): array { $data = []; - $benchmark = Services::timer(true); + $benchmark = service('timer', true); $rows = $benchmark->getTimers(6); foreach ($rows as $name => $info) { diff --git a/system/Email/Email.php b/system/Email/Email.php index b82779eb891d..5d420cc2e99c 100644 --- a/system/Email/Email.php +++ b/system/Email/Email.php @@ -485,7 +485,7 @@ public function setFrom($from, $name = '', $returnPath = null) if ($this->validate) { $this->validateEmail($this->stringToArray($from)); - if ($returnPath) { + if ($returnPath !== null) { $this->validateEmail($this->stringToArray($returnPath)); } } @@ -495,7 +495,7 @@ public function setFrom($from, $name = '', $returnPath = null) if ($name !== '') { // only use Q encoding if there are characters that would require it - if (! preg_match('/[\200-\377]/', $name)) { + if (preg_match('/[\200-\377]/', $name) !== 1) { $name = '"' . addcslashes($name, "\0..\37\177'\"\\") . '"'; } else { $name = $this->prepQEncoding($name); @@ -532,7 +532,7 @@ public function setReplyTo($replyto, $name = '') $this->tmpArchive['replyName'] = $name; // only use Q encoding if there are characters that would require it - if (! preg_match('/[\200-\377]/', $name)) { + if (preg_match('/[\200-\377]/', $name) !== 1) { $name = '"' . addcslashes($name, "\0..\37\177'\"\\") . '"'; } else { $name = $this->prepQEncoding($name); @@ -1233,7 +1233,9 @@ protected function buildMessage() $this->headerStr .= $hdr; } - static::strlen($body) && $body .= $this->newline . $this->newline; + if (static::strlen($body) > 0) { + $body .= $this->newline . $this->newline; + } $body .= $this->getMimeMessage() . $this->newline . $this->newline . '--' . $lastBoundary . $this->newline diff --git a/system/Encryption/Handlers/OpenSSLHandler.php b/system/Encryption/Handlers/OpenSSLHandler.php index f3b62c64a498..9745160b8003 100644 --- a/system/Encryption/Handlers/OpenSSLHandler.php +++ b/system/Encryption/Handlers/OpenSSLHandler.php @@ -82,7 +82,7 @@ class OpenSSLHandler extends BaseHandler public function encrypt($data, $params = null) { // Allow key override - if ($params) { + if ($params !== null) { $this->key = is_array($params) && isset($params['key']) ? $params['key'] : $params; } @@ -118,7 +118,7 @@ public function encrypt($data, $params = null) public function decrypt($data, $params = null) { // Allow key override - if ($params) { + if ($params !== null) { $this->key = is_array($params) && isset($params['key']) ? $params['key'] : $params; } diff --git a/system/Encryption/Handlers/SodiumHandler.php b/system/Encryption/Handlers/SodiumHandler.php index b6c74da76581..c74f2a5f0a48 100644 --- a/system/Encryption/Handlers/SodiumHandler.php +++ b/system/Encryption/Handlers/SodiumHandler.php @@ -26,7 +26,7 @@ class SodiumHandler extends BaseHandler /** * Starter key * - * @var string + * @var string|null Null is used for buffer cleanup. */ protected $key = ''; diff --git a/system/Events/Events.php b/system/Events/Events.php index a06bd7903e69..ad8efed62f9e 100644 --- a/system/Events/Events.php +++ b/system/Events/Events.php @@ -84,7 +84,7 @@ public static function initialize() $files = service('locator')->search('Config/Events.php'); } - $files = array_filter(array_map(static function (string $file) { + $files = array_filter(array_map(static function (string $file): false|string { if (is_file($file)) { return realpath($file) ?: $file; } diff --git a/system/Exceptions/DownloadException.php b/system/Exceptions/DownloadException.php index df78127d6d64..8ed2ba4849ab 100644 --- a/system/Exceptions/DownloadException.php +++ b/system/Exceptions/DownloadException.php @@ -47,6 +47,8 @@ public static function forNotFoundDownloadSource() } /** + * @deprecated Since v4.5.6 + * * @return static */ public static function forCannotSetCache() diff --git a/system/Exceptions/PageNotFoundException.php b/system/Exceptions/PageNotFoundException.php index b1af079e3a54..1a3b27a76a87 100644 --- a/system/Exceptions/PageNotFoundException.php +++ b/system/Exceptions/PageNotFoundException.php @@ -13,7 +13,6 @@ namespace CodeIgniter\Exceptions; -use Config\Services; use OutOfBoundsException; class PageNotFoundException extends OutOfBoundsException implements ExceptionInterface, HTTPExceptionInterface @@ -78,7 +77,7 @@ public static function forLocaleNotSupported(string $locale) */ private static function lang(string $line, array $args = []): string { - $lang = Services::language(null, false); + $lang = service('language', null, false); return $lang->getLine($line, $args); } diff --git a/system/Filters/Filters.php b/system/Filters/Filters.php index 1255e0c4055d..fd252fe1fa26 100644 --- a/system/Filters/Filters.php +++ b/system/Filters/Filters.php @@ -557,7 +557,7 @@ public function enableFilters(array $names, string $when = 'before') */ public function getArguments(?string $key = null) { - return $key === null ? $this->arguments : $this->arguments[$key]; + return ((string) $key === '') ? $this->arguments : $this->arguments[$key]; } // -------------------------------------------------------------------- @@ -674,7 +674,7 @@ protected function processMethods() */ protected function processFilters(?string $uri = null) { - if (! isset($this->config->filters) || ! $this->config->filters) { + if (! isset($this->config->filters) || $this->config->filters === []) { return; } diff --git a/system/Filters/Honeypot.php b/system/Filters/Honeypot.php index c2fb98c62d60..cdff293aacb4 100644 --- a/system/Filters/Honeypot.php +++ b/system/Filters/Honeypot.php @@ -17,7 +17,6 @@ use CodeIgniter\HTTP\IncomingRequest; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; -use Config\Services; /** * Honeypot filter @@ -40,7 +39,7 @@ public function before(RequestInterface $request, $arguments = null) return; } - if (Services::honeypot()->hasContent($request)) { + if (service('honeypot')->hasContent($request)) { throw HoneypotException::isBot(); } } diff --git a/system/HTTP/CLIRequest.php b/system/HTTP/CLIRequest.php index 0b2c57377e65..fbc5165e9a9a 100644 --- a/system/HTTP/CLIRequest.php +++ b/system/HTTP/CLIRequest.php @@ -95,9 +95,7 @@ public function __construct(App $config) */ public function getPath(): string { - $path = implode('/', $this->segments); - - return ($path === '') ? '' : $path; + return implode('/', $this->segments); } /** diff --git a/system/HTTP/CURLRequest.php b/system/HTTP/CURLRequest.php index 9da231c17716..90157e4e05d4 100644 --- a/system/HTTP/CURLRequest.php +++ b/system/HTTP/CURLRequest.php @@ -389,7 +389,7 @@ public function send(string $method, string $url) $output = substr($output, strpos($output, $breakString) + 4); } - if (str_starts_with($output, 'HTTP/1.1 200 Connection established')) { + if (preg_match('/HTTP\/\d\.\d 200 Connection established/i', $output)) { $output = substr($output, strpos($output, $breakString) + 4); } diff --git a/system/HTTP/ContentSecurityPolicy.php b/system/HTTP/ContentSecurityPolicy.php index 7582bc467733..a6a2b26a71fc 100644 --- a/system/HTTP/ContentSecurityPolicy.php +++ b/system/HTTP/ContentSecurityPolicy.php @@ -356,9 +356,9 @@ public function reportOnly(bool $value = true) } /** - * Adds a new base_uri value. Can be either a URI class or a simple string. + * Adds a new baseURI value. Can be either a URI class or a simple string. * - * base_uri restricts the URLs that can appear in a page's element. + * baseURI restricts the URLs that can appear in a page's element. * * @see http://www.w3.org/TR/CSP/#directive-base-uri * @@ -713,7 +713,7 @@ protected function generateNonces(ResponseInterface $response) $pattern = '/(' . preg_quote($this->styleNonceTag, '/') . '|' . preg_quote($this->scriptNonceTag, '/') . ')/'; - $body = preg_replace_callback($pattern, function ($match) { + $body = preg_replace_callback($pattern, function ($match): string { $nonce = $match[0] === $this->styleNonceTag ? $this->getStyleNonce() : $this->getScriptNonce(); return "nonce=\"{$nonce}\""; diff --git a/system/HTTP/DownloadResponse.php b/system/HTTP/DownloadResponse.php index 6b293fbca239..a0da2e8ce4b9 100644 --- a/system/HTTP/DownloadResponse.php +++ b/system/HTTP/DownloadResponse.php @@ -85,7 +85,7 @@ public function __construct(string $filename, bool $setMime) */ public function setBinary(string $binary) { - if ($this->file !== null) { + if ($this->file instanceof File) { throw DownloadException::forCannotSetBinary(); } @@ -142,7 +142,7 @@ private function setContentTypeByMimeType(): void $mime = null; $charset = ''; - if ($this->setMime === true && ($lastDotPosition = strrpos($this->filename, '.')) !== false) { + if ($this->setMime && ($lastDotPosition = strrpos($this->filename, '.')) !== false) { $mime = Mimes::guessTypeFromExtension(substr($this->filename, $lastDotPosition + 1)); $charset = $this->charset; } @@ -242,16 +242,6 @@ public function noCache(): self return $this; } - /** - * Disables cache configuration. - * - * @throws DownloadException - */ - public function setCache(array $options = []) - { - throw DownloadException::forCannotSetCache(); - } - /** * {@inheritDoc} * @@ -290,10 +280,8 @@ public function buildHeaders() $this->setHeader('Content-Disposition', $this->getContentDisposition()); } - $this->setHeader('Expires-Disposition', '0'); $this->setHeader('Content-Transfer-Encoding', 'binary'); $this->setHeader('Content-Length', (string) $this->getContentLength()); - $this->noCache(); } /** @@ -309,7 +297,7 @@ public function sendBody() return $this->sendBodyByBinary(); } - if ($this->file !== null) { + if ($this->file instanceof File) { return $this->sendBodyByFilePath(); } diff --git a/system/HTTP/Exceptions/RedirectException.php b/system/HTTP/Exceptions/RedirectException.php index 5f2dcd05e3b7..3047bf9603eb 100644 --- a/system/HTTP/Exceptions/RedirectException.php +++ b/system/HTTP/Exceptions/RedirectException.php @@ -69,7 +69,7 @@ public function __construct($message = '', int $code = 0, ?Throwable $previous = public function getResponse(): ResponseInterface { - if (null === $this->response) { + if (! $this->response instanceof ResponseInterface) { $this->response = service('response') ->redirect(base_url($this->getMessage()), 'auto', $this->getCode()); } diff --git a/system/HTTP/Files/FileCollection.php b/system/HTTP/Files/FileCollection.php index 079d5e73114f..add2c3c03f9c 100644 --- a/system/HTTP/Files/FileCollection.php +++ b/system/HTTP/Files/FileCollection.php @@ -253,7 +253,7 @@ protected function getValueDotNotationSyntax(array $index, array $value) { $currentIndex = array_shift($index); - if (isset($currentIndex) && is_array($index) && $index && is_array($value[$currentIndex]) && $value[$currentIndex]) { + if (isset($currentIndex) && is_array($index) && $index !== [] && array_key_exists($currentIndex, $value) && is_array($value[$currentIndex])) { return $this->getValueDotNotationSyntax($index, $value[$currentIndex]); } diff --git a/system/HTTP/Files/UploadedFile.php b/system/HTTP/Files/UploadedFile.php index 78643aa7166e..c17a9e5af8e5 100644 --- a/system/HTTP/Files/UploadedFile.php +++ b/system/HTTP/Files/UploadedFile.php @@ -302,7 +302,9 @@ public function getTempName(): string */ public function getExtension(): string { - return $this->guessExtension() ?: $this->getClientExtension(); + $guessExtension = $this->guessExtension(); + + return $guessExtension !== '' ? $guessExtension : $this->getClientExtension(); } /** diff --git a/system/HTTP/Negotiate.php b/system/HTTP/Negotiate.php index 67a03a38014d..33938c8f0741 100644 --- a/system/HTTP/Negotiate.php +++ b/system/HTTP/Negotiate.php @@ -39,7 +39,7 @@ class Negotiate */ public function __construct(?RequestInterface $request = null) { - if ($request !== null) { + if ($request instanceof RequestInterface) { assert($request instanceof IncomingRequest); $this->request = $request; @@ -233,7 +233,7 @@ public function parseHeader(string $header): array } // Sort to get the highest results first - usort($results, static function ($a, $b) { + usort($results, static function ($a, $b): int { if ($a['q'] === $b['q']) { $aAst = substr_count($a['value'], '*'); $bAst = substr_count($b['value'], '*'); diff --git a/system/HTTP/OutgoingRequest.php b/system/HTTP/OutgoingRequest.php index 27e473a59ad1..e62f07241558 100644 --- a/system/HTTP/OutgoingRequest.php +++ b/system/HTTP/OutgoingRequest.php @@ -64,7 +64,7 @@ private function getHostFromUri(URI $uri): string { $host = $uri->getHost(); - return $host . ($uri->getPort() ? ':' . $uri->getPort() : ''); + return $host . ($uri->getPort() > 0 ? ':' . $uri->getPort() : ''); } /** diff --git a/system/HTTP/RedirectResponse.php b/system/HTTP/RedirectResponse.php index 95bfadcd4299..206b1de07c67 100644 --- a/system/HTTP/RedirectResponse.php +++ b/system/HTTP/RedirectResponse.php @@ -15,7 +15,6 @@ use CodeIgniter\Cookie\CookieStore; use CodeIgniter\HTTP\Exceptions\HTTPException; -use Config\Services; /** * Handle a redirect response @@ -116,9 +115,8 @@ private function withErrors(): self { $validation = service('validation'); - if ($validation->getErrors()) { - $session = service('session'); - $session->setFlashdata('_ci_validation_errors', $validation->getErrors()); + if ($validation->getErrors() !== []) { + service('session')->setFlashdata('_ci_validation_errors', $validation->getErrors()); } return $this; @@ -148,7 +146,7 @@ public function with(string $key, $message) */ public function withCookies() { - $this->cookieStore = new CookieStore(Services::response()->getCookies()); + $this->cookieStore = new CookieStore(service('response')->getCookies()); return $this; } @@ -163,7 +161,7 @@ public function withCookies() */ public function withHeaders() { - foreach (Services::response()->headers() as $name => $value) { + foreach (service('response')->headers() as $name => $value) { if ($value instanceof Header) { $this->setHeader($name, $value->getValue()); } else { diff --git a/system/HTTP/RequestTrait.php b/system/HTTP/RequestTrait.php index 43a4f23a0e87..dfa4b663dbaf 100644 --- a/system/HTTP/RequestTrait.php +++ b/system/HTTP/RequestTrait.php @@ -59,7 +59,7 @@ trait RequestTrait */ public function getIPAddress(): string { - if ($this->ipAddress) { + if ($this->ipAddress !== '') { return $this->ipAddress; } @@ -249,7 +249,7 @@ public function setGlobal(string $name, $value) * * @param string $name Supergrlobal name (lowercase) * @phpstan-param 'get'|'post'|'request'|'cookie'|'server' $name - * @param array|string|null $index + * @param array|int|string|null $index * @param int|null $filter Filter constant * @param array|int|null $flags Options * @@ -290,7 +290,7 @@ public function fetchGlobal(string $name, $index = null, ?int $filter = null, $f } // Does the index contain array notation? - if (($count = preg_match_all('/(?:^[^\[]+)|\[[^]]*\]/', $index, $matches)) > 1) { + if (is_string($index) && ($count = preg_match_all('/(?:^[^\[]+)|\[[^]]*\]/', $index, $matches)) > 1) { $value = $this->globals[$name]; for ($i = 0; $i < $count; $i++) { diff --git a/system/HTTP/Response.php b/system/HTTP/Response.php index a19fbb5fee14..ac853c3de93b 100644 --- a/system/HTTP/Response.php +++ b/system/HTTP/Response.php @@ -18,7 +18,6 @@ use CodeIgniter\HTTP\Exceptions\HTTPException; use Config\App; use Config\Cookie as CookieConfig; -use Config\Services; /** * Representation of an outgoing, server-side response. @@ -158,7 +157,7 @@ public function __construct($config) // @phpstan-ignore-line $this->noCache(); // We need CSP object even if not enabled to avoid calls to non existing methods - $this->CSP = Services::csp(); + $this->CSP = service('csp'); $this->cookieStore = new CookieStore([]); diff --git a/system/HTTP/ResponseInterface.php b/system/HTTP/ResponseInterface.php index 827eea44e298..382a2847c503 100644 --- a/system/HTTP/ResponseInterface.php +++ b/system/HTTP/ResponseInterface.php @@ -210,7 +210,7 @@ public function setContentType(string $mime, string $charset = 'UTF-8'); /** * Converts the $body into JSON and sets the Content Type header. * - * @param array|string $body + * @param array|object|string $body * * @return $this */ diff --git a/system/HTTP/ResponseTrait.php b/system/HTTP/ResponseTrait.php index 45f07d186170..eaf60f2b38b4 100644 --- a/system/HTTP/ResponseTrait.php +++ b/system/HTTP/ResponseTrait.php @@ -123,18 +123,21 @@ public function setDate(DateTime $date) */ public function setLink(PagerInterface $pager) { - $links = ''; + $links = ''; + $previous = $pager->getPreviousPageURI(); - if ($previous = $pager->getPreviousPageURI()) { + if (is_string($previous) && $previous !== '') { $links .= '<' . $pager->getPageURI($pager->getFirstPage()) . '>; rel="first",'; $links .= '<' . $previous . '>; rel="prev"'; } - if (($next = $pager->getNextPageURI()) && $previous) { + $next = $pager->getNextPageURI(); + + if (is_string($next) && $next !== '' && is_string($previous) && $previous !== '') { $links .= ','; } - if ($next) { + if (is_string($next) && $next !== '') { $links .= '<' . $next . '>; rel="next",'; $links .= '<' . $pager->getPageURI($pager->getLastPage()) . '>; rel="last"'; } @@ -566,7 +569,7 @@ public function getCookieStore() */ public function hasCookie(string $name, ?string $value = null, string $prefix = ''): bool { - $prefix = $prefix ?: Cookie::setDefaults()['prefix']; // to retain BC + $prefix = $prefix !== '' ? $prefix : Cookie::setDefaults()['prefix']; // to retain BC return $this->cookieStore->has($name, $prefix, $value); } @@ -586,7 +589,7 @@ public function getCookie(?string $name = null, string $prefix = '') } try { - $prefix = $prefix ?: Cookie::setDefaults()['prefix']; // to retain BC + $prefix = $prefix !== '' ? $prefix : Cookie::setDefaults()['prefix']; // to retain BC return $this->cookieStore->get($name, $prefix); } catch (CookieException $e) { @@ -607,7 +610,7 @@ public function deleteCookie(string $name = '', string $domain = '', string $pat return $this; } - $prefix = $prefix ?: Cookie::setDefaults()['prefix']; // to retain BC + $prefix = $prefix !== '' ? $prefix : Cookie::setDefaults()['prefix']; // to retain BC $prefixed = $prefix . $name; $store = $this->cookieStore; diff --git a/system/HTTP/SiteURI.php b/system/HTTP/SiteURI.php index def61b65e17b..2be70a7773ef 100644 --- a/system/HTTP/SiteURI.php +++ b/system/HTTP/SiteURI.php @@ -41,7 +41,7 @@ class SiteURI extends URI /** * The Index File. */ - private string $indexPage; + private readonly string $indexPage; /** * List of URI segments in baseURL and indexPage. @@ -421,7 +421,7 @@ public function siteUrl($relativePath = '', ?string $scheme = null, ?App $config $relativePath = $this->stringifyRelativePath($relativePath); // Check current host. - $host = $config === null ? $this->getHost() : null; + $host = $config instanceof App ? null : $this->getHost(); $config ??= config(App::class); diff --git a/system/HTTP/URI.php b/system/HTTP/URI.php index efa99cf778a8..d0d23a3d26ee 100644 --- a/system/HTTP/URI.php +++ b/system/HTTP/URI.php @@ -1177,7 +1177,8 @@ protected function parseStr(string $query): array parse_str($params, $result); foreach ($result as $key => $value) { - $return[hex2bin($key)] = $value; + // Array key might be int + $return[hex2bin((string) $key)] = $value; } return $return; diff --git a/system/HTTP/UserAgent.php b/system/HTTP/UserAgent.php index 6a5104779a92..ec4d17438284 100644 --- a/system/HTTP/UserAgent.php +++ b/system/HTTP/UserAgent.php @@ -125,7 +125,7 @@ public function isBrowser(?string $key = null): bool } // No need to be specific, it's a browser - if ($key === null) { + if ((string) $key === '') { return true; } @@ -143,7 +143,7 @@ public function isRobot(?string $key = null): bool } // No need to be specific, it's a robot - if ($key === null) { + if ((string) $key === '') { return true; } @@ -161,7 +161,7 @@ public function isMobile(?string $key = null): bool } // No need to be specific, it's a mobile - if ($key === null) { + if ((string) $key === '') { return true; } @@ -289,7 +289,7 @@ protected function compileData() */ protected function setPlatform(): bool { - if (is_array($this->config->platforms) && $this->config->platforms) { + if (is_array($this->config->platforms) && $this->config->platforms !== []) { foreach ($this->config->platforms as $key => $val) { if (preg_match('|' . preg_quote($key, '|') . '|i', $this->agent)) { $this->platform = $val; @@ -309,7 +309,7 @@ protected function setPlatform(): bool */ protected function setBrowser(): bool { - if (is_array($this->config->browsers) && $this->config->browsers) { + if (is_array($this->config->browsers) && $this->config->browsers !== []) { foreach ($this->config->browsers as $key => $val) { if (preg_match('|' . $key . '.*?([0-9\.]+)|i', $this->agent, $match)) { $this->isBrowser = true; @@ -330,7 +330,7 @@ protected function setBrowser(): bool */ protected function setRobot(): bool { - if (is_array($this->config->robots) && $this->config->robots) { + if (is_array($this->config->robots) && $this->config->robots !== []) { foreach ($this->config->robots as $key => $val) { if (preg_match('|' . preg_quote($key, '|') . '|i', $this->agent)) { $this->isRobot = true; @@ -350,7 +350,7 @@ protected function setRobot(): bool */ protected function setMobile(): bool { - if (is_array($this->config->mobiles) && $this->config->mobiles) { + if (is_array($this->config->mobiles) && $this->config->mobiles !== []) { foreach ($this->config->mobiles as $key => $val) { if (false !== (stripos($this->agent, $key))) { $this->isMobile = true; diff --git a/system/Helpers/Array/ArrayHelper.php b/system/Helpers/Array/ArrayHelper.php index 76b8e8aedfbe..4bbd34427fa1 100644 --- a/system/Helpers/Array/ArrayHelper.php +++ b/system/Helpers/Array/ArrayHelper.php @@ -307,7 +307,7 @@ public static function recursiveCount(array $array, int $counter = 0): int */ public static function sortValuesByNatural(array &$array, $sortByIndex = null): bool { - return usort($array, static function ($currentValue, $nextValue) use ($sortByIndex) { + return usort($array, static function ($currentValue, $nextValue) use ($sortByIndex): int { if ($sortByIndex !== null) { return strnatcmp((string) $currentValue[$sortByIndex], (string) $nextValue[$sortByIndex]); } diff --git a/system/Helpers/filesystem_helper.php b/system/Helpers/filesystem_helper.php index 2b86654c960e..d5f2d974e4ad 100644 --- a/system/Helpers/filesystem_helper.php +++ b/system/Helpers/filesystem_helper.php @@ -166,7 +166,7 @@ function delete_files(string $path, bool $delDir = false, bool $htdocs = false, continue; } - if (! $htdocs || ! preg_match('/^(\.htaccess|index\.(html|htm|php)|web\.config)$/i', $filename)) { + if (! $htdocs || preg_match('/^(\.htaccess|index\.(html|htm|php)|web\.config)$/i', $filename) !== 1) { $isDir = $object->isDir(); if ($isDir && $delDir) { rmdir($object->getPathname()); @@ -260,13 +260,13 @@ function get_dir_file_info(string $sourceDir, bool $topLevelOnly = true, bool $r try { $fp = opendir($sourceDir); - // reset the array and make sure $source_dir has a trailing slash on the initial call + // reset the array and make sure $sourceDir has a trailing slash on the initial call if ($recursion === false) { $fileData = []; $sourceDir = rtrim(realpath($sourceDir), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR; } - // Used to be foreach (scandir($source_dir, 1) as $file), but scandir() is simply not as fast + // Used to be foreach (scandir($sourceDir, 1) as $file), but scandir() is simply not as fast while (false !== ($file = readdir($fp))) { if (is_dir($sourceDir . $file) && $file[0] !== '.' && $topLevelOnly === false) { get_dir_file_info($sourceDir . $file . DIRECTORY_SEPARATOR, $topLevelOnly, true); diff --git a/system/Helpers/form_helper.php b/system/Helpers/form_helper.php index 2e5b9f7ca576..7e11388841f4 100644 --- a/system/Helpers/form_helper.php +++ b/system/Helpers/form_helper.php @@ -62,7 +62,7 @@ function form_open(string $action = '', $attributes = [], array $hidden = []): s // Add CSRF field if enabled, but leave it out for GET requests and requests to external websites $before = service('filters')->getFilters()['before']; - if ((in_array('csrf', $before, true) || array_key_exists('csrf', $before)) && str_contains($action, base_url()) && ! stripos($form, 'method="get"')) { + if ((in_array('csrf', $before, true) || array_key_exists('csrf', $before)) && str_contains($action, base_url()) && stripos($form, 'method="get"') === false) { $form .= csrf_field($csrfId ?? null); } @@ -582,7 +582,7 @@ function set_select(string $field, string $value = '', bool $default = false): s } if ($input === null) { - return ($default === true) ? ' selected="selected"' : ''; + return $default ? ' selected="selected"' : ''; } if (is_array($input)) { @@ -636,7 +636,7 @@ function set_checkbox(string $field, string $value = '', bool $default = false): return ($input === $value) ? ' checked="checked"' : ''; } - return ($default === true) ? ' checked="checked"' : ''; + return $default ? ' checked="checked"' : ''; } } @@ -673,7 +673,7 @@ function set_radio(string $field, string $value = '', bool $default = false): st return ((string) $input === $value) ? ' checked="checked"' : ''; } - return ($default === true) ? ' checked="checked"' : ''; + return $default ? ' checked="checked"' : ''; } } @@ -788,7 +788,7 @@ function parse_form_attributes($attributes, array $default): string if (! is_bool($val)) { if ($key === 'value') { $val = esc($val); - } elseif ($key === 'name' && ! strlen($default['name'])) { + } elseif ($key === 'name' && $default['name'] === '') { continue; } $att .= $key . '="' . $val . '"' . ($key === array_key_last($default) ? '' : ' '); diff --git a/system/Helpers/html_helper.php b/system/Helpers/html_helper.php index b9e5e5c8ed0e..3eb55a6d5150 100644 --- a/system/Helpers/html_helper.php +++ b/system/Helpers/html_helper.php @@ -112,8 +112,8 @@ function img($src = '', bool $indexPage = false, $attributes = ''): string $img = ' $v) { - if ($k === 'src' && ! preg_match('#^([a-z]+:)?//#i', $v)) { - if ($indexPage === true) { + if ($k === 'src' && preg_match('#^([a-z]+:)?//#i', $v) !== 1) { + if ($indexPage) { $script .= 'src="' . site_url($v) . '" '; } else { $script .= 'src="' . slash_item('baseURL') . $v . '" '; @@ -252,7 +252,7 @@ function link_tag( $href = $href['href'] ?? ''; } - if (! preg_match('#^([a-z]+:)?//#i', $href)) { + if (preg_match('#^([a-z]+:)?//#i', $href) !== 1) { $attributes['href'] = $indexPage ? site_url($href) : slash_item('baseURL') . $href; } else { $attributes['href'] = $href; @@ -302,7 +302,7 @@ function video($src, string $unsupportedMessage = '', string $attributes = '', a if (_has_protocol($src)) { $video .= ' src="' . $src . '"'; - } elseif ($indexPage === true) { + } elseif ($indexPage) { $video .= ' src="' . site_url($src) . '"'; } else { $video .= ' src="' . slash_item('baseURL') . $src . '"'; @@ -349,7 +349,7 @@ function audio($src, string $unsupportedMessage = '', string $attributes = '', a if (_has_protocol($src)) { $audio .= ' src="' . $src . '"'; - } elseif ($indexPage === true) { + } elseif ($indexPage) { $audio .= ' src="' . site_url($src) . '"'; } else { $audio .= ' src="' . slash_item('baseURL') . $src . '"'; @@ -422,7 +422,7 @@ function _media(string $name, array $types = [], string $unsupportedMessage = '' function source(string $src, string $type = 'unknown', string $attributes = '', bool $indexPage = false): string { if (! _has_protocol($src)) { - $src = $indexPage === true ? site_url($src) : slash_item('baseURL') . $src; + $src = $indexPage ? site_url($src) : slash_item('baseURL') . $src; } $source = 'hash(); while (true) { - if (connection_status() !== CONNECTION_NORMAL || connection_aborted()) { + if (connection_status() !== CONNECTION_NORMAL || connection_aborted() === 1) { break; } @@ -50,6 +50,7 @@ public function run(): void $this->sendEvent('reload', ['time' => date('Y-m-d H:i:s')]); break; } + if (mt_rand(1, 10) > 8) { $this->sendEvent('ping', ['time' => date('Y-m-d H:i:s')]); } diff --git a/system/I18n/TimeTrait.php b/system/I18n/TimeTrait.php index fefb2fc544a3..354b7542e755 100644 --- a/system/I18n/TimeTrait.php +++ b/system/I18n/TimeTrait.php @@ -73,7 +73,7 @@ trait TimeTrait */ public function __construct(?string $time = null, $timezone = null, ?string $locale = null) { - $this->locale = $locale ?: Locale::getDefault(); + $this->locale = $locale !== null && $locale !== '' && $locale !== '0' ? $locale : Locale::getDefault(); $time ??= ''; @@ -958,7 +958,7 @@ public function sameAs($testTime, ?string $timezone = null): bool if ($testTime instanceof DateTimeInterface) { $testTime = $testTime->format('Y-m-d H:i:s'); } elseif (is_string($testTime)) { - $timezone = $timezone ?: $this->timezone; + $timezone = $timezone !== null && $timezone !== '' && $timezone !== '0' ? $timezone : $this->timezone; $timezone = $timezone instanceof DateTimeZone ? $timezone : new DateTimeZone($timezone); $testTime = new DateTime($testTime, $timezone); $testTime = $testTime->format('Y-m-d H:i:s'); @@ -1108,7 +1108,7 @@ public function getUTCObject($time, ?string $timezone = null) if ($time instanceof self) { $time = $time->toDateTime(); } elseif (is_string($time)) { - $timezone = $timezone ?: $this->timezone; + $timezone = $timezone !== null && $timezone !== '' && $timezone !== '0' ? $timezone : $this->timezone; $timezone = $timezone instanceof DateTimeZone ? $timezone : new DateTimeZone($timezone); $time = new DateTime($time, $timezone); } diff --git a/system/Images/Handlers/ImageMagickHandler.php b/system/Images/Handlers/ImageMagickHandler.php index fa226ccf2289..583a2759fd31 100644 --- a/system/Images/Handlers/ImageMagickHandler.php +++ b/system/Images/Handlers/ImageMagickHandler.php @@ -42,7 +42,7 @@ public function __construct($config = null) { parent::__construct($config); - if (! (extension_loaded('imagick') || class_exists(Imagick::class))) { + if (! extension_loaded('imagick') && ! class_exists(Imagick::class)) { throw ImageException::forMissingExtension('IMAGICK'); // @codeCoverageIgnore } @@ -81,7 +81,7 @@ public function _resize(bool $maintainRatio = false) $escape = ''; } - $action = $maintainRatio === true + $action = $maintainRatio ? ' -resize ' . ($this->width ?? 0) . 'x' . ($this->height ?? 0) . ' "' . $source . '" "' . $destination . '"' : ' -resize ' . ($this->width ?? 0) . 'x' . ($this->height ?? 0) . "{$escape}! \"" . $source . '" "' . $destination . '"'; diff --git a/system/Images/Image.php b/system/Images/Image.php index a2cf51436121..55754e339535 100644 --- a/system/Images/Image.php +++ b/system/Images/Image.php @@ -102,8 +102,9 @@ public function copy(string $targetPath, ?string $targetName = null, int $perms public function getProperties(bool $return = false) { $path = $this->getPathname(); + $vals = getimagesize($path); - if (! $vals = getimagesize($path)) { + if ($vals === false) { throw ImageException::forFileNotSupported(); } @@ -116,7 +117,7 @@ public function getProperties(bool $return = false) $mime = 'image/' . ($types[$vals[2]] ?? 'jpg'); - if ($return === true) { + if ($return) { return [ 'width' => $vals[0], 'height' => $vals[1], diff --git a/system/Log/Handlers/ChromeLoggerHandler.php b/system/Log/Handlers/ChromeLoggerHandler.php index 8d39d4c06705..37c7c0ffeddf 100644 --- a/system/Log/Handlers/ChromeLoggerHandler.php +++ b/system/Log/Handlers/ChromeLoggerHandler.php @@ -14,7 +14,6 @@ namespace CodeIgniter\Log\Handlers; use CodeIgniter\HTTP\ResponseInterface; -use Config\Services; /** * Class ChromeLoggerHandler @@ -156,8 +155,8 @@ protected function format($object) */ public function sendLogs(?ResponseInterface &$response = null) { - if ($response === null) { - $response = Services::response(null, true); + if (! $response instanceof ResponseInterface) { + $response = service('response', null, true); } $data = base64_encode( diff --git a/system/Log/Handlers/FileHandler.php b/system/Log/Handlers/FileHandler.php index 42dd9ceefc0f..64d1485f0f7a 100644 --- a/system/Log/Handlers/FileHandler.php +++ b/system/Log/Handlers/FileHandler.php @@ -76,6 +76,7 @@ public function handle($level, $message): bool $msg = ''; + $newfile = false; if (! is_file($filepath)) { $newfile = true; @@ -117,7 +118,7 @@ public function handle($level, $message): bool flock($fp, LOCK_UN); fclose($fp); - if (isset($newfile) && $newfile === true) { + if ($newfile) { chmod($filepath, $this->filePermissions); } diff --git a/system/Model.php b/system/Model.php index d5df3f861b97..98e3be0b1f68 100644 --- a/system/Model.php +++ b/system/Model.php @@ -317,13 +317,13 @@ protected function doFirst() if ($this->tempUseSoftDeletes) { $builder->where($this->table . '.' . $this->deletedField, null); - } elseif ($this->useSoftDeletes && ($builder->QBGroupBy === []) && $this->primaryKey) { + } elseif ($this->useSoftDeletes && ($builder->QBGroupBy === []) && $this->primaryKey !== '') { $builder->groupBy($this->table . '.' . $this->primaryKey); } // Some databases, like PostgreSQL, need order // information to consistently return correct results. - if ($builder->QBGroupBy && ($builder->QBOrderBy === []) && $this->primaryKey) { + if ($builder->QBGroupBy !== [] && ($builder->QBOrderBy === []) && $this->primaryKey !== '') { $builder->orderBy($this->table . '.' . $this->primaryKey, 'asc'); } @@ -443,7 +443,7 @@ protected function doUpdate($id = null, $row = null): bool $builder = $this->builder(); - if ($id) { + if (! in_array($id, [null, '', 0, '0', []], true)) { $builder = $builder->whereIn($this->table . '.' . $this->primaryKey, $id); } @@ -496,7 +496,7 @@ protected function doDelete($id = null, bool $purge = false) $set = []; $builder = $this->builder(); - if ($id) { + if (! in_array($id, [null, '', 0, '0', []], true)) { $builder = $builder->whereIn($this->primaryKey, $id); } @@ -592,9 +592,9 @@ protected function doErrors() */ public function getIdValue($row) { - if (is_object($row) && isset($row->{$this->primaryKey})) { - // Get the raw primary key value of the Entity. - if ($row instanceof Entity) { + if (is_object($row)) { + // Get the raw or mapped primary key value of the Entity. + if ($row instanceof Entity && $row->{$this->primaryKey} !== null) { $cast = $row->cast(); // Disable Entity casting, because raw primary key value is needed for database. @@ -608,7 +608,9 @@ public function getIdValue($row) return $primaryKey; } - return $row->{$this->primaryKey}; + if (! $row instanceof Entity && isset($row->{$this->primaryKey})) { + return $row->{$this->primaryKey}; + } } if (is_array($row) && isset($row[$this->primaryKey])) { @@ -623,10 +625,6 @@ public function getIdValue($row) * Works with $this->builder to get the Compiled select to * determine the rows to operate on. * This method works only with dbCalls. - * - * @return void - * - * @throws DataException */ public function chunk(int $size, Closure $userFunc) { @@ -692,7 +690,7 @@ public function builder(?string $table = null) // Check for an existing Builder if ($this->builder instanceof BaseBuilder) { // Make sure the requested table matches the builder - if ($table && $this->builder->getTable() !== $table) { + if ((string) $table !== '' && $this->builder->getTable() !== $table) { return $this->db->table($table); } @@ -706,7 +704,7 @@ public function builder(?string $table = null) throw ModelException::forNoPrimaryKey(static::class); } - $table = ($table === null || $table === '') ? $this->table : $table; + $table = ((string) $table === '') ? $this->table : $table; // Ensure we have a good db connection if (! $this->db instanceof BaseConnection) { diff --git a/system/Pager/Pager.php b/system/Pager/Pager.php index af0e9accfaee..3bdc85388c18 100644 --- a/system/Pager/Pager.php +++ b/system/Pager/Pager.php @@ -288,7 +288,7 @@ public function getPageURI(?int $page = null, string $group = 'default', bool $r $uri->setQueryArray($query); } - return ($returnObject === true) + return $returnObject ? $uri : URI::createURIString( $uri->getScheme(), diff --git a/system/RESTful/BaseResource.php b/system/RESTful/BaseResource.php index 0360bdb12fc5..f2e171c8319e 100644 --- a/system/RESTful/BaseResource.php +++ b/system/RESTful/BaseResource.php @@ -61,7 +61,7 @@ public function initController(RequestInterface $request, ResponseInterface $res */ public function setModel($which = null) { - if ($which) { + if ($which !== null) { $this->model = is_object($which) ? $which : null; $this->modelName = is_object($which) ? null : $which; } diff --git a/system/Router/AutoRouter.php b/system/Router/AutoRouter.php index 6e9f3248c86e..ce40f5cdc406 100644 --- a/system/Router/AutoRouter.php +++ b/system/Router/AutoRouter.php @@ -105,7 +105,7 @@ public function getRoute(string $uri, string $httpVerb): array if ($httpVerb !== 'CLI') { $controller = '\\' . $this->defaultNamespace; - $controller .= $this->directory ? str_replace('/', '\\', $this->directory) : ''; + $controller .= $this->directory !== null ? str_replace('/', '\\', $this->directory) : ''; $controller .= $controllerName; $controller = strtolower($controller); @@ -244,7 +244,7 @@ private function isValidSegment(string $segment): bool */ public function setDirectory(?string $dir = null, bool $append = false, bool $validate = true) { - if ($dir === null || $dir === '') { + if ((string) $dir === '') { $this->directory = null; return; @@ -260,7 +260,7 @@ public function setDirectory(?string $dir = null, bool $append = false, bool $va } } - if ($append !== true || ($this->directory === null || $this->directory === '')) { + if (! $append || ((string) $this->directory === '')) { $this->directory = trim($dir, '/') . '/'; } else { $this->directory .= trim($dir, '/') . '/'; @@ -275,7 +275,7 @@ public function setDirectory(?string $dir = null, bool $append = false, bool $va */ public function directory(): string { - return ($this->directory !== null && $this->directory !== '') ? $this->directory : ''; + return ((string) $this->directory !== '') ? $this->directory : ''; } private function controllerName(): string diff --git a/system/Router/RouteCollection.php b/system/Router/RouteCollection.php index 8fba39dc03be..13cbba449989 100644 --- a/system/Router/RouteCollection.php +++ b/system/Router/RouteCollection.php @@ -21,7 +21,6 @@ use Config\App; use Config\Modules; use Config\Routing; -use Config\Services; use InvalidArgumentException; /** @@ -283,7 +282,7 @@ public function __construct(FileLocatorInterface $locator, Modules $moduleConfig $this->fileLocator = $locator; $this->moduleConfig = $moduleConfig; - $this->httpHost = Services::request()->getServer('HTTP_HOST'); + $this->httpHost = service('request')->getServer('HTTP_HOST'); // Setup based on config file. Let routes file override. $this->defaultNamespace = rtrim($routing->defaultNamespace, '\\') . '\\'; @@ -561,7 +560,7 @@ public function shouldAutoRoute(): bool */ public function getRoutes(?string $verb = null, bool $includeWildcard = true): array { - if ($verb === null || $verb === '') { + if ((string) $verb === '') { $verb = $this->getHTTPVerb(); } @@ -610,7 +609,7 @@ public function getRoutesOptions(?string $from = null, ?string $verb = null): ar { $options = $this->loadRoutesOptions($verb); - return $from ? $options[$from] ?? [] : $options; + return ((string) $from !== '') ? $options[$from] ?? [] : $options; } /** @@ -780,7 +779,7 @@ public function group(string $name, ...$params) $callback = array_pop($params); - if ($params && is_array($params[0])) { + if ($params !== [] && is_array($params[0])) { $options = array_shift($params); if (isset($options['filter'])) { @@ -1159,6 +1158,8 @@ public function view(string $from, string $view, ?array $options = null): RouteC /** * Limits the routes to a specified ENVIRONMENT or they won't run. + * + * @param Closure(RouteCollection): void $callback */ public function environment(string $env, Closure $callback): RouteCollectionInterface { @@ -1328,7 +1329,7 @@ protected function fillRouteParams(string $from, ?array $params = null): string $patterns = $matches[0]; foreach ($patterns as $index => $pattern) { - if (! preg_match('#^' . $pattern . '$#u', $params[$index])) { + if (preg_match('#^' . $pattern . '$#u', $params[$index]) !== 1) { throw RouterException::forInvalidParameterType(); } @@ -1390,7 +1391,7 @@ protected function buildReverseRoute(string $from, array $params): string // or maybe $placeholder is not a placeholder, but a regex. $pattern = $this->placeholders[$placeholderName] ?? $placeholder; - if (! preg_match('#^' . $pattern . '$#u', (string) $params[$index])) { + if (preg_match('#^' . $pattern . '$#u', (string) $params[$index]) !== 1) { throw RouterException::forInvalidParameterType(); } @@ -1415,14 +1416,14 @@ private function replaceLocale(string $route, ?string $locale = null): string } // Check invalid locale - if ($locale !== null) { + if ((string) $locale !== '') { $config = config(App::class); if (! in_array($locale, $config->supportedLocales, true)) { $locale = null; } } - if ($locale === null) { + if ((string) $locale === '') { $locale = service('request')->getLocale(); } @@ -1604,7 +1605,7 @@ private function processArrayCallableSyntax(string $from, array $to): string private function getMethodParams(string $from): string { preg_match_all('/\(.+?\)/', $from, $matches); - $count = is_countable($matches[0]) ? count($matches[0]) : 0; + $count = count($matches[0]); $params = ''; diff --git a/system/Router/Router.php b/system/Router/Router.php index d60313f6c032..0cd1614991ee 100644 --- a/system/Router/Router.php +++ b/system/Router/Router.php @@ -247,7 +247,7 @@ public function getFilters(): array */ public function controllerName() { - return $this->translateURIDashes + return $this->translateURIDashes && ! $this->controller instanceof Closure ? str_replace('-', '_', $this->controller) : $this->controller; } @@ -433,7 +433,7 @@ protected function checkRoutes(string $uri): bool // Is this route supposed to redirect to another? if ($this->collection->isRedirect($routeKey)) { // replacing matched route groups with references: post/([0-9]+) -> post/$1 - $redirectTo = preg_replace_callback('/(\([^\(]+\))/', static function () { + $redirectTo = preg_replace_callback('/(\([^\(]+\))/', static function (): string { static $i = 1; return '$' . $i++; diff --git a/system/Security/Security.php b/system/Security/Security.php index 0b51062e4cdb..b6d2660295b9 100644 --- a/system/Security/Security.php +++ b/system/Security/Security.php @@ -377,7 +377,7 @@ protected function derandomize(string $token): string return bin2hex(hex2bin($value) ^ hex2bin($key)); } catch (ErrorException $e) { // "hex2bin(): Hexadecimal input string must have an even length" - throw new InvalidArgumentException($e->getMessage()); + throw new InvalidArgumentException($e->getMessage(), $e->getCode(), $e); } } @@ -422,7 +422,7 @@ public function shouldRedirect(): bool * * If it is acceptable for the user input to include relative paths, * e.g. file/in/some/approved/folder.txt, you can set the second optional - * parameter, $relative_path to TRUE. + * parameter, $relativePath to TRUE. * * @param string $str Input file name * @param bool $relativePath Whether to preserve paths diff --git a/system/Security/SecurityInterface.php b/system/Security/SecurityInterface.php index 1460cf0e6a00..03a5ba2321d0 100644 --- a/system/Security/SecurityInterface.php +++ b/system/Security/SecurityInterface.php @@ -64,7 +64,7 @@ public function shouldRedirect(): bool; * * If it is acceptable for the user input to include relative paths, * e.g. file/in/some/approved/folder.txt, you can set the second optional - * parameter, $relative_path to TRUE. + * parameter, $relativePath to TRUE. * * @param string $str Input file name * @param bool $relativePath Whether to preserve paths diff --git a/system/Session/Handlers/Database/PostgreHandler.php b/system/Session/Handlers/Database/PostgreHandler.php index b92ab1e57323..e999f356decd 100644 --- a/system/Session/Handlers/Database/PostgreHandler.php +++ b/system/Session/Handlers/Database/PostgreHandler.php @@ -75,7 +75,7 @@ public function gc($max_lifetime) protected function lockSession(string $sessionID): bool { $arg = "hashtext('{$sessionID}')" . ($this->matchIP ? ", hashtext('{$this->ipAddress}')" : ''); - if ($this->db->simpleQuery("SELECT pg_advisory_lock({$arg})")) { + if ($this->db->simpleQuery("SELECT pg_advisory_lock({$arg})") !== false) { $this->lock = $arg; return true; @@ -93,7 +93,7 @@ protected function releaseLock(): bool return true; } - if ($this->db->simpleQuery("SELECT pg_advisory_unlock({$this->lock})")) { + if ($this->db->simpleQuery("SELECT pg_advisory_unlock({$this->lock})") !== false) { $this->lock = false; return true; diff --git a/system/Session/Handlers/DatabaseHandler.php b/system/Session/Handlers/DatabaseHandler.php index 2d1d2fbbe97e..d36e9592cec0 100644 --- a/system/Session/Handlers/DatabaseHandler.php +++ b/system/Session/Handlers/DatabaseHandler.php @@ -282,12 +282,9 @@ public function destroy($id): bool #[ReturnTypeWillChange] public function gc($max_lifetime) { - $separator = ' '; - $interval = implode($separator, ['', "{$max_lifetime} second", '']); - return $this->db->table($this->table)->where( 'timestamp <', - "now() - INTERVAL {$interval}", + "now() - INTERVAL {$max_lifetime} second", false )->delete() ? 1 : $this->fail(); } diff --git a/system/Session/Handlers/FileHandler.php b/system/Session/Handlers/FileHandler.php index 4dbec779526a..6931ab1c581f 100644 --- a/system/Session/Handlers/FileHandler.php +++ b/system/Session/Handlers/FileHandler.php @@ -290,7 +290,7 @@ public function gc($max_lifetime) while (($file = readdir($directory)) !== false) { // If the filename doesn't match this pattern, it's either not a session file or is not ours - if (! preg_match($pattern, $file) + if (preg_match($pattern, $file) !== 1 || ! is_file($this->savePath . DIRECTORY_SEPARATOR . $file) || ($mtime = filemtime($this->savePath . DIRECTORY_SEPARATOR . $file)) === false || $mtime > $ts diff --git a/system/Session/Handlers/MemcachedHandler.php b/system/Session/Handlers/MemcachedHandler.php index 79bb4ca4613f..e651808a8ba8 100644 --- a/system/Session/Handlers/MemcachedHandler.php +++ b/system/Session/Handlers/MemcachedHandler.php @@ -93,12 +93,12 @@ public function open($path, $name): bool } if ( - ! preg_match_all( + preg_match_all( '#,?([^,:]+)\:(\d{1,5})(?:\:(\d+))?#', $this->savePath, $matches, PREG_SET_ORDER - ) + ) === 0 ) { $this->memcached = null; $this->logger->error('Session: Invalid Memcached save path format: ' . $this->savePath); @@ -267,7 +267,7 @@ protected function lockSession(string $sessionID): bool $attempt = 0; do { - if ($this->memcached->get($lockKey)) { + if ($this->memcached->get($lockKey) !== false) { sleep(1); continue; diff --git a/system/Session/Session.php b/system/Session/Session.php index 0aabcbe31d53..a9b7bd4fa5fe 100644 --- a/system/Session/Session.php +++ b/system/Session/Session.php @@ -234,7 +234,7 @@ public function start() // Sanitize the cookie, because apparently PHP doesn't do that for userspace handlers if (isset($_COOKIE[$this->config->cookieName]) - && (! is_string($_COOKIE[$this->config->cookieName]) || ! preg_match('#\A' . $this->sidRegexp . '\z#', $_COOKIE[$this->config->cookieName])) + && (! is_string($_COOKIE[$this->config->cookieName]) || preg_match('#\A' . $this->sidRegexp . '\z#', $_COOKIE[$this->config->cookieName]) !== 1) ) { unset($_COOKIE[$this->config->cookieName]); } @@ -248,7 +248,7 @@ public function start() if (! isset($_SESSION['__ci_last_regenerate'])) { $_SESSION['__ci_last_regenerate'] = Time::now()->getTimestamp(); } elseif ($_SESSION['__ci_last_regenerate'] < (Time::now()->getTimestamp() - $regenerateTime)) { - $this->regenerate((bool) $this->config->regenerateDestroy); + $this->regenerate($this->config->regenerateDestroy); } } // Another work-around ... PHP doesn't seem to send the session cookie @@ -258,7 +258,7 @@ public function start() } $this->initVars(); - $this->logger->info("Session: Class initialized using '" . $this->config->driver . "' driver."); + $this->logger->debug("Session: Class initialized using '" . $this->config->driver . "' driver."); return $this; } diff --git a/system/Test/CIUnitTestCase.php b/system/Test/CIUnitTestCase.php index 62c0fff83844..467e3a61bdf7 100644 --- a/system/Test/CIUnitTestCase.php +++ b/system/Test/CIUnitTestCase.php @@ -238,7 +238,7 @@ protected function setUp(): void { parent::setUp(); - if (! $this->app) { + if (! $this->app instanceof CodeIgniter) { $this->app = $this->createApplication(); } @@ -374,7 +374,7 @@ public function assertLogContains(string $level, string $logMessage, string $mes { $this->assertTrue( TestLogger::didLog($level, $logMessage, false), - $message ?: sprintf( + $message !== '' ? $message : sprintf( 'Failed asserting that logs have a record of message containing "%s" with level "%s".', $logMessage, $level diff --git a/system/Test/ControllerTestTrait.php b/system/Test/ControllerTestTrait.php index ab1a1aef3907..5a5bc708692f 100644 --- a/system/Test/ControllerTestTrait.php +++ b/system/Test/ControllerTestTrait.php @@ -31,7 +31,7 @@ * * $this->withRequest($request) * ->withResponse($response) - * ->withURI($uri) + * ->withUri($uri) * ->withBody($body) * ->controller('App\Controllers\Home') * ->execute('methodName'); @@ -109,14 +109,14 @@ protected function setUpControllerTestTrait(): void $tempUri = service('uri'); Services::injectMock('uri', $this->uri); - $this->withRequest(Services::incomingrequest($this->appConfig, false)); + $this->withRequest(service('incomingrequest', $this->appConfig, false)); // Restore the URI service Services::injectMock('uri', $tempUri); } if (empty($this->response)) { - $this->response = Services::response($this->appConfig, false); + $this->response = service('response', $this->appConfig, false); } if (empty($this->logger)) { @@ -285,7 +285,7 @@ public function withUri(string $uri) Services::injectMock('uri', $this->uri); // Update the Request instance, because Request has the SiteURI instance. - $this->request = Services::incomingrequest(null, false); + $this->request = service('incomingrequest', null, false); Services::injectMock('request', $this->request); return $this; diff --git a/system/Test/FeatureTestTrait.php b/system/Test/FeatureTestTrait.php index 0f2467ffd897..13522d8758f3 100644 --- a/system/Test/FeatureTestTrait.php +++ b/system/Test/FeatureTestTrait.php @@ -179,8 +179,8 @@ public function call(string $method, string $path, ?array $params = null) $method = strtoupper($method); // Simulate having a blank session - $_SESSION = []; - $_SERVER['REQUEST_METHOD'] = $method; + $_SESSION = []; + service('superglobals')->setServer('REQUEST_METHOD', $method); $request = $this->setupRequest($method, $path); $request = $this->setupHeaders($request); @@ -189,7 +189,9 @@ public function call(string $method, string $path, ?array $params = null) $request = $this->setRequestBody($request, $params); // Initialize the RouteCollection - if (! $routes = $this->routes) { + $routes = $this->routes; + + if ($routes !== []) { $routes = service('routes')->loadRoutes(); } @@ -200,10 +202,10 @@ public function call(string $method, string $path, ?array $params = null) Services::injectMock('request', $request); // Make sure filters are reset between tests - Services::injectMock('filters', Services::filters(null, false)); + Services::injectMock('filters', service('filters', null, false)); // Make sure validation is reset between tests - Services::injectMock('validation', Services::validation(null, false)); + Services::injectMock('validation', service('validation', null, false)); $response = $this->app ->setContext('web') @@ -321,7 +323,7 @@ protected function setupRequest(string $method, ?string $path = null): IncomingR Services::injectMock('uri', $uri); - $request = Services::incomingrequest($config, false); + $request = service('incomingrequest', $config, false); $request->setMethod($method); $request->setProtocolVersion('1.1'); diff --git a/system/Test/FilterTestTrait.php b/system/Test/FilterTestTrait.php index 93f273a39f1f..d004ec22c5c1 100644 --- a/system/Test/FilterTestTrait.php +++ b/system/Test/FilterTestTrait.php @@ -119,6 +119,8 @@ protected function setUpFilterTestTrait(): void * * @param FilterInterface|string $filter The filter instance, class, or alias * @param string $position "before" or "after" + * + * @phpstan-return Closure(list|null=): mixed */ protected function getFilterCaller($filter, string $position): Closure { @@ -219,7 +221,9 @@ protected function getFiltersForRoute(string $route, string $position): array $this->filters->reset(); - if ($routeFilters = $this->collection->getFiltersForRoute($route)) { + $routeFilters = $this->collection->getFiltersForRoute($route); + + if ($routeFilters !== []) { $this->filters->enableFilters($routeFilters, $position); } diff --git a/system/Test/ReflectionHelper.php b/system/Test/ReflectionHelper.php index c72276d1a01a..a1b7ee99c67f 100644 --- a/system/Test/ReflectionHelper.php +++ b/system/Test/ReflectionHelper.php @@ -31,15 +31,15 @@ trait ReflectionHelper * @param object|string $obj object or class name * @param string $method method name * - * @return Closure + * @return Closure + * @phpstan-return Closure(mixed ...$args): mixed * * @throws ReflectionException */ public static function getPrivateMethodInvoker($obj, $method) { $refMethod = new ReflectionMethod($obj, $method); - $refMethod->setAccessible(true); - $obj = (gettype($obj) === 'object') ? $obj : null; + $obj = (gettype($obj) === 'object') ? $obj : null; return static fn (...$args) => $refMethod->invokeArgs($obj, $args); } @@ -58,10 +58,7 @@ private static function getAccessibleRefProperty($obj, $property) { $refClass = is_object($obj) ? new ReflectionObject($obj) : new ReflectionClass($obj); - $refProperty = $refClass->getProperty($property); - $refProperty->setAccessible(true); - - return $refProperty; + return $refClass->getProperty($property); } /** @@ -73,7 +70,7 @@ private static function getAccessibleRefProperty($obj, $property) * * @throws ReflectionException */ - public static function setPrivateProperty($obj, $property, $value) + public static function setPrivateProperty($obj, $property, $value): void { $refProperty = self::getAccessibleRefProperty($obj, $property); @@ -90,7 +87,7 @@ public static function setPrivateProperty($obj, $property, $value) * @param object|string $obj object or class name * @param string $property property name * - * @return mixed value + * @return mixed * * @throws ReflectionException */ diff --git a/system/Test/bootstrap.php b/system/Test/bootstrap.php index 4a068a4c97b1..d2b47aaf21fb 100644 --- a/system/Test/bootstrap.php +++ b/system/Test/bootstrap.php @@ -13,7 +13,6 @@ use CodeIgniter\Boot; use Config\Paths; -use Config\Services; error_reporting(E_ALL); ini_set('display_errors', '1'); @@ -88,4 +87,4 @@ * --------------------------------------------------------------- */ -Services::routes()->loadRoutes(); +service('routes')->loadRoutes(); diff --git a/system/ThirdParty/PSR/Log/LoggerInterface.php b/system/ThirdParty/PSR/Log/LoggerInterface.php index 8afabc90c820..cb4cf648b40f 100644 --- a/system/ThirdParty/PSR/Log/LoggerInterface.php +++ b/system/ThirdParty/PSR/Log/LoggerInterface.php @@ -89,6 +89,7 @@ public function debug(string|\Stringable $message, array $context = []): void; /** * Logs with an arbitrary level. * + * @param mixed $level * @param mixed[] $context * * @throws \Psr\Log\InvalidArgumentException diff --git a/system/Traits/ConditionalTrait.php b/system/Traits/ConditionalTrait.php index c927a6815a8d..a778e9375a36 100644 --- a/system/Traits/ConditionalTrait.php +++ b/system/Traits/ConditionalTrait.php @@ -29,9 +29,9 @@ trait ConditionalTrait */ public function when($condition, callable $callback, ?callable $defaultCallback = null): self { - if ($condition) { + if ($condition !== '' && $condition !== false && $condition !== null) { $callback($this, $condition); - } elseif ($defaultCallback) { + } elseif ($defaultCallback !== null) { $defaultCallback($this); } @@ -52,9 +52,9 @@ public function when($condition, callable $callback, ?callable $defaultCallback */ public function whenNot($condition, callable $callback, ?callable $defaultCallback = null): self { - if (! $condition) { + if ($condition === '' || $condition === null || $condition === false || $condition === '0') { $callback($this, $condition); - } elseif ($defaultCallback) { + } elseif ($defaultCallback !== null) { $defaultCallback($this); } diff --git a/system/Traits/PropertiesTrait.php b/system/Traits/PropertiesTrait.php index ed2da42efc26..30b3f86690c0 100644 --- a/system/Traits/PropertiesTrait.php +++ b/system/Traits/PropertiesTrait.php @@ -71,7 +71,6 @@ final public function getNonPublicProperties(): array continue; } - $property->setAccessible(true); $properties[] = $property; } diff --git a/system/Typography/Typography.php b/system/Typography/Typography.php index 89687d72e2d1..145ff68f1193 100644 --- a/system/Typography/Typography.php +++ b/system/Typography/Typography.php @@ -171,7 +171,7 @@ public function autoTypography(string $str, bool $reduceLinebreaks = false): str } // No opening block level tag? Add it if needed. - if (! preg_match('/^\s*<(?:' . $this->blockElements . ')/i', $str)) { + if (preg_match('/^\s*<(?:' . $this->blockElements . ')/i', $str) !== 1) { $str = preg_replace('/^(.*?)<(' . $this->blockElements . ')/i', '

$1

<$2', $str); } @@ -214,7 +214,7 @@ public function autoTypography(string $str, bool $reduceLinebreaks = false): str ]; // Do we need to reduce empty lines? - if ($reduceLinebreaks === true) { + if ($reduceLinebreaks) { $table['#

\n*

#'] = ''; } else { // If we have empty paragraph tags we add a non-breaking space diff --git a/system/Validation/DotArrayFilter.php b/system/Validation/DotArrayFilter.php index 4d2e1cb19ed2..c7a401e1589a 100644 --- a/system/Validation/DotArrayFilter.php +++ b/system/Validation/DotArrayFilter.php @@ -21,8 +21,6 @@ final class DotArrayFilter /** * Creates a new array with only the elements specified in dot array syntax. * - * This code comes from the dot_array_search() function. - * * @param array $indexes The dot array syntax pattern to use for filtering. * @param array $array The array to filter. * @@ -33,20 +31,14 @@ public static function run(array $indexes, array $array): array $result = []; foreach ($indexes as $index) { - // See https://regex101.com/r/44Ipql/1 - $segments = preg_split( - '/(? str_replace('\.', '.', $key), - $segments - ); - - $result = array_replace_recursive($result, self::filter($segments, $array)); + $segments = preg_split('/(? str_replace('\.', '.', $key), $segments); + + $filteredArray = self::filter($segments, $array); + + if ($filteredArray !== []) { + $result = array_replace_recursive($result, $filteredArray); + } } return $result; @@ -62,53 +54,54 @@ public static function run(array $indexes, array $array): array */ private static function filter(array $indexes, array $array): array { - // If index is empty, returns empty array. + // If there are no indexes left, return an empty array if ($indexes === []) { return []; } - // Grab the current index. + // Get the current index $currentIndex = array_shift($indexes); + // If the current index doesn't exist and is not a wildcard, return an empty array if (! isset($array[$currentIndex]) && $currentIndex !== '*') { return []; } - // Handle Wildcard (*) + // Handle the wildcard '*' at the current level if ($currentIndex === '*') { - $answer = []; + $result = []; + // Iterate over all keys at this level foreach ($array as $key => $value) { - if (! is_array($value)) { - continue; - } - - $result = self::filter($indexes, $value); - - if ($result !== []) { - $answer[$key] = $result; + if ($indexes === []) { + // If no indexes are left, capture the entire value + $result[$key] = $value; + } elseif (is_array($value)) { + // If there are still indexes left, continue filtering recursively + $filtered = self::filter($indexes, $value); + if ($filtered !== []) { + $result[$key] = $filtered; + } } } - return $answer; + return $result; } - // If this is the last index, make sure to return it now, - // and not try to recurse through things. + // If this is the last index, return the value if ($indexes === []) { - return [$currentIndex => $array[$currentIndex]]; + return [$currentIndex => $array[$currentIndex] ?? []]; } - // Do we need to recursively filter this value? - if (is_array($array[$currentIndex]) && $array[$currentIndex] !== []) { - $result = self::filter($indexes, $array[$currentIndex]); + // If the current value is an array, recursively filter it + if (is_array($array[$currentIndex])) { + $filtered = self::filter($indexes, $array[$currentIndex]); - if ($result !== []) { - return [$currentIndex => $result]; + if ($filtered !== []) { + return [$currentIndex => $filtered]; } } - // Otherwise, not found. return []; } } diff --git a/system/Validation/FileRules.php b/system/Validation/FileRules.php index dd8c4290e11d..058b15739eef 100644 --- a/system/Validation/FileRules.php +++ b/system/Validation/FileRules.php @@ -38,7 +38,7 @@ class FileRules */ public function __construct(?RequestInterface $request = null) { - if ($request === null) { + if (! $request instanceof RequestInterface) { $request = service('request'); } @@ -52,7 +52,9 @@ public function __construct(?RequestInterface $request = null) */ public function uploaded(?string $blank, string $name): bool { - if (! ($files = $this->request->getFileMultiple($name))) { + $files = $this->request->getFileMultiple($name); + + if ($files === [] || $files === null) { $files = [$this->request->getFile($name)]; } @@ -86,12 +88,15 @@ public function max_size(?string $blank, string $params): bool // Grab the file name off the top of the $params // after we split it. $paramArray = explode(',', $params); + if (count($paramArray) !== 2) { throw new InvalidArgumentException('Invalid max_size parameter: "' . $params . '"'); } - $name = array_shift($paramArray); - if (! ($files = $this->request->getFileMultiple($name))) { + $name = array_shift($paramArray); + $files = $this->request->getFileMultiple($name); + + if ($files === [] || $files === null) { $files = [$this->request->getFile($name)]; } @@ -126,8 +131,9 @@ public function is_image(?string $blank, string $params): bool // after we split it. $params = explode(',', $params); $name = array_shift($params); + $files = $this->request->getFileMultiple($name); - if (! ($files = $this->request->getFileMultiple($name))) { + if ($files === [] || $files === null) { $files = [$this->request->getFile($name)]; } @@ -161,8 +167,9 @@ public function mime_in(?string $blank, string $params): bool // after we split it. $params = explode(',', $params); $name = array_shift($params); + $files = $this->request->getFileMultiple($name); - if (! ($files = $this->request->getFileMultiple($name))) { + if ($files === [] || $files === null) { $files = [$this->request->getFile($name)]; } @@ -192,8 +199,9 @@ public function ext_in(?string $blank, string $params): bool // after we split it. $params = explode(',', $params); $name = array_shift($params); + $files = $this->request->getFileMultiple($name); - if (! ($files = $this->request->getFileMultiple($name))) { + if ($files === [] || $files === null) { $files = [$this->request->getFile($name)]; } @@ -224,8 +232,9 @@ public function max_dims(?string $blank, string $params): bool // after we split it. $params = explode(',', $params); $name = array_shift($params); + $files = $this->request->getFileMultiple($name); - if (! ($files = $this->request->getFileMultiple($name))) { + if ($files === [] || $files === null) { $files = [$this->request->getFile($name)]; } diff --git a/system/Validation/Rules.php b/system/Validation/Rules.php index 04e8a0546e77..7f2f0bd941ec 100644 --- a/system/Validation/Rules.php +++ b/system/Validation/Rules.php @@ -140,7 +140,7 @@ public function is_not_unique($str, string $field, array $data): bool if ( $whereField !== null && $whereField !== '' && $whereValue !== null && $whereValue !== '' - && ! preg_match('/^\{(\w+)\}$/', $whereValue) + && preg_match('/^\{(\w+)\}$/', $whereValue) !== 1 ) { $row = $row->where($whereField, $whereValue); } @@ -198,7 +198,7 @@ public function is_unique($str, string $field, array $data): bool if ( $ignoreField !== null && $ignoreField !== '' && $ignoreValue !== null && $ignoreValue !== '' - && ! preg_match('/^\{(\w+)\}$/', $ignoreValue) + && preg_match('/^\{(\w+)\}$/', $ignoreValue) !== 1 ) { $row = $row->where("{$ignoreField} !=", $ignoreValue); } @@ -359,10 +359,8 @@ public function required_with($str = null, ?string $fields = null, array $data = foreach (explode(',', $fields) as $field) { if ( - (array_key_exists($field, $data) - && ! empty($data[$field])) // @phpstan-ignore-line Use empty() - || (str_contains($field, '.') - && ! empty(dot_array_search($field, $data))) // @phpstan-ignore-line Use empty() + (array_key_exists($field, $data) && ! empty($data[$field])) + || (str_contains($field, '.') && ! empty(dot_array_search($field, $data))) ) { $requiredFields[] = $field; } @@ -409,7 +407,7 @@ public function required_without( if ( (! str_contains($otherField, '.')) && (! array_key_exists($otherField, $data) - || empty($data[$otherField])) // @phpstan-ignore-line Use empty() + || empty($data[$otherField])) ) { return false; } @@ -424,7 +422,7 @@ public function required_without( $fieldKey = $fieldSplitArray[1]; if (is_array($fieldData)) { - return ! empty(dot_array_search($otherField, $data)[$fieldKey]); // @phpstan-ignore-line Use empty() + return ! empty(dot_array_search($otherField, $data)[$fieldKey]); } $nowField = str_replace('*', $fieldKey, $otherField); $nowFieldVaule = dot_array_search($nowField, $data); diff --git a/system/Validation/StrictRules/Rules.php b/system/Validation/StrictRules/Rules.php index ec02a4e0a0ac..c9b98c479875 100644 --- a/system/Validation/StrictRules/Rules.php +++ b/system/Validation/StrictRules/Rules.php @@ -164,7 +164,7 @@ public function is_not_unique($str, string $field, array $data): bool if ( $whereField !== null && $whereField !== '' && $whereValue !== null && $whereValue !== '' - && ! preg_match('/^\{(\w+)\}$/', $whereValue) + && preg_match('/^\{(\w+)\}$/', $whereValue) !== 1 ) { $row = $row->where($whereField, $whereValue); } @@ -224,7 +224,7 @@ public function is_unique($str, string $field, array $data): bool if ( $ignoreField !== null && $ignoreField !== '' && $ignoreValue !== null && $ignoreValue !== '' - && ! preg_match('/^\{(\w+)\}$/', $ignoreValue) + && preg_match('/^\{(\w+)\}$/', $ignoreValue) !== 1 ) { $row = $row->where("{$ignoreField} !=", $ignoreValue); } diff --git a/system/Validation/Validation.php b/system/Validation/Validation.php index a4d817d2a9b4..c00329d670bb 100644 --- a/system/Validation/Validation.php +++ b/system/Validation/Validation.php @@ -21,7 +21,6 @@ use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\Validation\Exceptions\ValidationException; use CodeIgniter\View\RendererInterface; -use Config\Services; use Config\Validation as ValidationConfig; use InvalidArgumentException; use LogicException; @@ -182,7 +181,7 @@ public function run(?array $data = null, ?string $group = null, $dbGroup = null) ); // if keys not found - $values = $values ?: [$field => null]; + $values = $values !== [] ? $values : [$field => null]; } else { $values = dot_array_search($field, $data); } @@ -456,7 +455,7 @@ private function processPermitEmpty($value, array $rules, array $data) } } - if ($passed === true) { + if ($passed) { return true; } } @@ -468,7 +467,7 @@ private function processPermitEmpty($value, array $rules, array $data) } /** - * @param Closure|string $rule + * @param Closure(bool|float|int|list|object|string|null, bool|float|int|list|object|string|null, string|null, string|null): (bool|string) $rule */ private function isClosure($rule): bool { @@ -796,7 +795,7 @@ protected function fillPlaceholders(array $rules, array $data): array $placeholderFields = $this->retrievePlaceholders($row, $data); foreach ($placeholderFields as $field) { - $validator ??= Services::validation(null, false); + $validator ??= service('validation', null, false); assert($validator instanceof Validation); $placeholderRules = $rules[$field]['rules'] ?? null; @@ -919,26 +918,24 @@ protected function getErrorMessage( ): string { $param ??= ''; + $args = [ + 'field' => ($label === null || $label === '') ? $field : lang($label), + 'param' => (! isset($this->rules[$param]['label'])) ? $param : lang($this->rules[$param]['label']), + 'value' => $value ?? '', + ]; + // Check if custom message has been defined by user if (isset($this->customErrors[$field][$rule])) { - $message = lang($this->customErrors[$field][$rule]); - } elseif (null !== $originalField && isset($this->customErrors[$originalField][$rule])) { - $message = lang($this->customErrors[$originalField][$rule]); - } else { - // Try to grab a localized version of the message... - // lang() will return the rule name back if not found, - // so there will always be a string being returned. - $message = lang('Validation.' . $rule); + return lang($this->customErrors[$field][$rule], $args); + } + if (null !== $originalField && isset($this->customErrors[$originalField][$rule])) { + return lang($this->customErrors[$originalField][$rule], $args); } - $message = str_replace('{field}', ($label === null || $label === '') ? $field : lang($label), $message); - $message = str_replace( - '{param}', - (! isset($this->rules[$param]['label'])) ? $param : lang($this->rules[$param]['label']), - $message - ); - - return str_replace('{value}', $value ?? '', $message); + // Try to grab a localized version of the message... + // lang() will return the rule name back if not found, + // so there will always be a string being returned. + return lang('Validation.' . $rule, $args); } /** diff --git a/system/View/Cell.php b/system/View/Cell.php index 28b249a60e1c..f2801e4194ec 100644 --- a/system/View/Cell.php +++ b/system/View/Cell.php @@ -17,7 +17,6 @@ use CodeIgniter\Config\Factories; use CodeIgniter\View\Cells\Cell as BaseCell; use CodeIgniter\View\Exceptions\ViewException; -use Config\Services; use ReflectionException; use ReflectionMethod; @@ -93,7 +92,7 @@ public function render(string $library, $params = null, int $ttl = 0, ?string $c } if (method_exists($instance, 'initController')) { - $instance->initController(Services::request(), service('response'), service('logger')); + $instance->initController(service('request'), service('response'), service('logger')); } if (! method_exists($instance, $method)) { diff --git a/system/View/Filters.php b/system/View/Filters.php index dde9ec6d663d..0be48b6de1b4 100644 --- a/system/View/Filters.php +++ b/system/View/Filters.php @@ -71,9 +71,7 @@ public static function date_modify($value, string $adjustment) */ public static function default($value, string $default): string { - return empty($value) // @phpstan-ignore-line - ? $default - : $value; + return empty($value) ? $default : $value; } /** diff --git a/system/View/Parser.php b/system/View/Parser.php index bbeb00f757c0..08fec93e16fc 100644 --- a/system/View/Parser.php +++ b/system/View/Parser.php @@ -254,20 +254,39 @@ protected function parse(string $template, array $data = [], ?array $options = n // it can potentially modify any template between its tags. $template = $this->parsePlugins($template); - // loop over the data variables, replacing - // the content as we go. + // Parse stack for each parse type (Single and Pairs) + $replaceSingleStack = []; + $replacePairsStack = []; + + // loop over the data variables, saving regex and data + // for later replacement. foreach ($data as $key => $val) { $escape = true; if (is_array($val)) { - $escape = false; - $replace = $this->parsePair($key, $val, $template); + $escape = false; + $replacePairsStack[] = [ + 'replace' => $this->parsePair($key, $val, $template), + 'escape' => $escape, + ]; } else { - $replace = $this->parseSingle($key, (string) $val); + $replaceSingleStack[] = [ + 'replace' => $this->parseSingle($key, (string) $val), + 'escape' => $escape, + ]; } + } + + // Merge both stacks, pairs first + single stacks + // This allows for nested data with the same key to be replaced properly + $replace = array_merge($replacePairsStack, $replaceSingleStack); - foreach ($replace as $pattern => $content) { - $template = $this->replaceSingle($pattern, $content, $template, $escape); + // Loop over each replace array item which + // holds all the data to be replaced + foreach ($replace as $replaceItem) { + // Loop over the actual data to be replaced + foreach ($replaceItem['replace'] as $pattern => $content) { + $template = $this->replaceSingle($pattern, $content, $template, $replaceItem['escape']); } } @@ -534,7 +553,7 @@ protected function replaceSingle($pattern, $content, $template, bool $escape = f $content = (string) $content; // Replace the content in the template - return preg_replace_callback($pattern, function ($matches) use ($content, $escape) { + return preg_replace_callback($pattern, function ($matches) use ($content, $escape): string { // Check for {! !} syntax to not escape this one. if ( str_starts_with($matches[0], $this->leftDelimiter . '!') @@ -594,7 +613,7 @@ public function shouldAddEscaping(string $key) $escape = false; } // If no `esc` filter is found, then we'll need to add one. - elseif (! preg_match('/\s+esc/u', $key)) { + elseif (preg_match('/\s+esc/u', $key) !== 1) { $escape = 'html'; } @@ -672,7 +691,7 @@ protected function parsePlugins(string $template) * $matches[1] = all parameters string in opening tag * $matches[2] = content between the tags to send to the plugin. */ - if (! preg_match_all($pattern, $template, $matches, PREG_SET_ORDER)) { + if (preg_match_all($pattern, $template, $matches, PREG_SET_ORDER) === 0) { continue; } diff --git a/system/View/Table.php b/system/View/Table.php index 60ccc509f9ae..9eb29578a6da 100644 --- a/system/View/Table.php +++ b/system/View/Table.php @@ -333,7 +333,7 @@ public function generate($tableData = null) $out = $this->template['table_open'] . $this->newline; // Add any caption here - if ($this->caption) { + if (isset($this->caption) && $this->caption !== '') { $out .= '
' . $this->newline; } diff --git a/tests/_support/Database/Migrations/20160428212500_Create_test_tables.php b/tests/_support/Database/Migrations/20160428212500_Create_test_tables.php index 1be92d1fe434..434644bef280 100644 --- a/tests/_support/Database/Migrations/20160428212500_Create_test_tables.php +++ b/tests/_support/Database/Migrations/20160428212500_Create_test_tables.php @@ -92,14 +92,14 @@ public function up(): void if ($this->db->DBDriver === 'SQLSRV') { unset($dataTypeFields['type_timestamp']); + $dataTypeFields['type_text'] = ['type' => 'NVARCHAR(max)', 'null' => true]; } if ($this->db->DBDriver === 'Postgre' || $this->db->DBDriver === 'SQLSRV') { unset( $dataTypeFields['type_set'], $dataTypeFields['type_mediumtext'], - $dataTypeFields['type_double'], - $dataTypeFields['type_blob'] + $dataTypeFields['type_double'] ); } diff --git a/tests/_support/Database/Seeds/CITestSeeder.php b/tests/_support/Database/Seeds/CITestSeeder.php index f8582839cf05..45b70a7fdd19 100644 --- a/tests/_support/Database/Seeds/CITestSeeder.php +++ b/tests/_support/Database/Seeds/CITestSeeder.php @@ -86,6 +86,26 @@ public function run(): void 'key' => 'key', 'value' => 'value', ], + [ + 'key' => 'multibyte characters pl', + 'value' => 'śćźżłąęó', + ], + [ + 'key' => 'multibyte characters fa', + 'value' => 'خٌوب', + ], + [ + 'key' => 'multibyte characters bn', + 'value' => 'টাইপ', + ], + [ + 'key' => 'multibyte characters ko', + 'value' => '캐스팅', + ], + [ + 'key' => 'multibyte characters ml', + 'value' => 'ടൈപ്പ്', + ], ], 'type_test' => [ [ diff --git a/tests/_support/Entity/CustomUser.php b/tests/_support/Entity/CustomUser.php index 0ba0c73e451b..94a6ae3345ab 100644 --- a/tests/_support/Entity/CustomUser.php +++ b/tests/_support/Entity/CustomUser.php @@ -26,7 +26,7 @@ * @property string $name * @property Time|null $updated_at */ -class CustomUser +final class CustomUser { private function __construct( private readonly int $id, @@ -40,7 +40,7 @@ private function __construct( public static function reconstruct(array $data): static { - return new static( + return new self( $data['id'], $data['name'], $data['email'], diff --git a/tests/system/API/ResponseTraitTest.php b/tests/system/API/ResponseTraitTest.php index 82229b014bd4..25cccfbfca2a 100644 --- a/tests/system/API/ResponseTraitTest.php +++ b/tests/system/API/ResponseTraitTest.php @@ -87,7 +87,7 @@ private function createRequestAndResponse(string $routePath = '', array $userHea $config = $this->createAppConfig(); $this->createCookieConfig(); - if ($this->request === null) { + if (! $this->request instanceof MockIncomingRequest) { $this->request = new MockIncomingRequest( $config, new SiteURI($config, $routePath), diff --git a/tests/system/Autoloader/AutoloaderTest.php b/tests/system/Autoloader/AutoloaderTest.php index 8529d79dc118..19d482890b75 100644 --- a/tests/system/Autoloader/AutoloaderTest.php +++ b/tests/system/Autoloader/AutoloaderTest.php @@ -20,7 +20,6 @@ use CodeIgniter\Test\ReflectionHelper; use Config\Autoload; use Config\Modules; -use Config\Services; use InvalidArgumentException; use PHPUnit\Framework\Attributes\Group; use PHPUnit\Framework\Attributes\PreserveGlobalState; @@ -112,17 +111,21 @@ public function testInitializeTwice(): void public function testServiceAutoLoaderFromShareInstances(): void { - $classLoader = $this->getPrivateMethodInvoker(Services::autoloader(), 'loadInNamespace'); + $classLoader = $this->getPrivateMethodInvoker(service('autoloader'), 'loadInNamespace'); // look for Home controller, as that should be in base repo $actual = $classLoader(Home::class); $expected = APPPATH . 'Controllers' . DIRECTORY_SEPARATOR . 'Home.php'; - $this->assertSame($expected, realpath($actual) ?: $actual); + + $resolvedPath = realpath($actual); + $actual = $resolvedPath !== false ? $resolvedPath : $actual; + + $this->assertSame($expected, $actual); } public function testServiceAutoLoader(): void { - $autoloader = Services::autoloader(false); + $autoloader = service('autoloader', false); $autoloader->initialize(new Autoload(), new Modules()); $autoloader->register(); @@ -131,7 +134,11 @@ public function testServiceAutoLoader(): void // look for Home controller, as that should be in base repo $actual = $classLoader(Home::class); $expected = APPPATH . 'Controllers' . DIRECTORY_SEPARATOR . 'Home.php'; - $this->assertSame($expected, realpath($actual) ?: $actual); + + $resolvedPath = realpath($actual); + $actual = $resolvedPath !== false ? $resolvedPath : $actual; + + $this->assertSame($expected, $actual); $autoloader->unregister(); } diff --git a/tests/system/Autoloader/FileLocatorCachedTest.php b/tests/system/Autoloader/FileLocatorCachedTest.php index 0aac85a8c59c..f8b5b386818c 100644 --- a/tests/system/Autoloader/FileLocatorCachedTest.php +++ b/tests/system/Autoloader/FileLocatorCachedTest.php @@ -25,7 +25,6 @@ final class FileLocatorCachedTest extends FileLocatorTest { private FileVarExportHandler $handler; - protected FileLocatorInterface $locator; public static function tearDownAfterClass(): void { diff --git a/tests/system/Autoloader/FileLocatorTest.php b/tests/system/Autoloader/FileLocatorTest.php index e3a20286acc6..90580864fc47 100644 --- a/tests/system/Autoloader/FileLocatorTest.php +++ b/tests/system/Autoloader/FileLocatorTest.php @@ -27,6 +27,9 @@ #[Group('Others')] class FileLocatorTest extends CIUnitTestCase { + /** + * @var FileLocator|FileLocatorCached + */ protected FileLocatorInterface $locator; protected function setUp(): void diff --git a/tests/system/CLI/CLITest.php b/tests/system/CLI/CLITest.php index 0a4e36316dbe..413fd71c85f4 100644 --- a/tests/system/CLI/CLITest.php +++ b/tests/system/CLI/CLITest.php @@ -549,13 +549,11 @@ public function testParseCommandMultipleOptions(): void public function testWindow(): void { $height = new ReflectionProperty(CLI::class, 'height'); - $height->setAccessible(true); $height->setValue(null, null); $this->assertIsInt(CLI::getHeight()); $width = new ReflectionProperty(CLI::class, 'width'); - $width->setAccessible(true); $width->setValue(null, null); $this->assertIsInt(CLI::getWidth()); diff --git a/tests/system/CLI/ConsoleTest.php b/tests/system/CLI/ConsoleTest.php index cabe2152b684..c6773a07894f 100644 --- a/tests/system/CLI/ConsoleTest.php +++ b/tests/system/CLI/ConsoleTest.php @@ -30,14 +30,12 @@ final class ConsoleTest extends CIUnitTestCase { use StreamFilterTrait; - private DotEnv $env; - protected function setUp(): void { parent::setUp(); - $this->env = new DotEnv(ROOTPATH); - $this->env->load(); + $env = new DotEnv(ROOTPATH); + $env->load(); // Set environment values that would otherwise stop the framework from functioning during tests. if (! isset($_SERVER['app.baseURL'])) { diff --git a/tests/system/Cache/FactoriesCacheFileHandlerTest.php b/tests/system/Cache/FactoriesCacheFileHandlerTest.php index 892eb7260638..01e3276733e3 100644 --- a/tests/system/Cache/FactoriesCacheFileHandlerTest.php +++ b/tests/system/Cache/FactoriesCacheFileHandlerTest.php @@ -13,6 +13,7 @@ namespace CodeIgniter\Cache; +use CodeIgniter\Cache\FactoriesCache\FileVarExportHandler; use Config\Cache as CacheConfig; use PHPUnit\Framework\Attributes\Group; @@ -23,7 +24,7 @@ final class FactoriesCacheFileHandlerTest extends FactoriesCacheFileVarExportHandlerTest { /** - * @var @var FileVarExportHandler|CacheInterface + * @var CacheInterface|FileVarExportHandler */ protected $handler; diff --git a/tests/system/Cache/Handlers/MemcachedHandlerTest.php b/tests/system/Cache/Handlers/MemcachedHandlerTest.php index 4aad8288401c..45a44b64feff 100644 --- a/tests/system/Cache/Handlers/MemcachedHandlerTest.php +++ b/tests/system/Cache/Handlers/MemcachedHandlerTest.php @@ -25,8 +25,6 @@ #[Group('CacheLive')] final class MemcachedHandlerTest extends AbstractHandlerTestCase { - private Cache $config; - private static function getKeyArray() { return [ @@ -44,9 +42,9 @@ protected function setUp(): void $this->markTestSkipped('Memcached extension not loaded.'); } - $this->config = new Cache(); + $config = new Cache(); - $this->handler = new MemcachedHandler($this->config); + $this->handler = new MemcachedHandler($config); $this->handler->initialize(); } diff --git a/tests/system/CodeIgniterTest.php b/tests/system/CodeIgniterTest.php index d87d0d8661ba..735aed389552 100644 --- a/tests/system/CodeIgniterTest.php +++ b/tests/system/CodeIgniterTest.php @@ -47,7 +47,6 @@ final class CodeIgniterTest extends CIUnitTestCase { private CodeIgniter $codeigniter; - protected $routes; #[WithoutErrorHandler] protected function setUp(): void @@ -59,7 +58,7 @@ protected function setUp(): void $this->codeigniter = new MockCodeIgniter(new App()); - $response = Services::response(); + $response = service('response'); $response->pretend(); } @@ -111,11 +110,11 @@ public function testRunClosureRoute(): void $_SERVER['SCRIPT_NAME'] = '/index.php'; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->add('pages/(:segment)', static function ($segment): void { echo 'You want to see "' . esc($segment) . '" page.'; }); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); ob_start(); @@ -132,10 +131,10 @@ public function testRun404Override(): void $_SERVER['SCRIPT_NAME'] = '/index.php'; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->setAutoRoute(false); $routes->set404Override('Tests\Support\Errors::show404'); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); ob_start(); @@ -152,10 +151,10 @@ public function testRun404OverrideControllerReturnsResponse(): void $_SERVER['argc'] = 2; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->setAutoRoute(false); $routes->set404Override('Tests\Support\Controllers\Popcorn::pop'); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); $response = $this->codeigniter->run($routes, true); @@ -170,10 +169,10 @@ public function testRun404OverrideReturnResponse(): void $_SERVER['argc'] = 2; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->setAutoRoute(false); $routes->set404Override('Tests\Support\Controllers\Popcorn::pop'); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); $response = $this->codeigniter->run($routes, true); @@ -187,12 +186,12 @@ public function testRun404OverrideByClosure(): void $_SERVER['argc'] = 2; // Inject mock router. - $routes = new RouteCollection(Services::locator(), new Modules(), new Routing()); + $routes = new RouteCollection(service('locator'), new Modules(), new Routing()); $routes->setAutoRoute(false); $routes->set404Override(static function (): void { echo '404 Override by Closure.'; }); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); ob_start(); @@ -212,12 +211,12 @@ public function testControllersCanReturnString(): void $_SERVER['SCRIPT_NAME'] = '/index.php'; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->add( 'pages/(:segment)', static fn ($segment) => 'You want to see "' . esc($segment) . '" page.' ); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); ob_start(); @@ -236,14 +235,14 @@ public function testControllersCanReturnResponseObject(): void $_SERVER['SCRIPT_NAME'] = '/index.php'; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->add('pages/(:segment)', static function ($segment) { - $response = Services::response(); + $response = service('response'); $string = "You want to see 'about' page."; return $response->setBody($string); }); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); ob_start(); @@ -265,13 +264,13 @@ public function testControllersCanReturnDownloadResponseObject(): void $_SERVER['SCRIPT_NAME'] = '/index.php'; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->add('pages/(:segment)', static function ($segment) { - $response = Services::response(); + $response = service('response'); return $response->download('some.txt', 'some text', true); }); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); ob_start(); @@ -290,14 +289,14 @@ public function testRunExecuteFilterByClassName(): void $_SERVER['SCRIPT_NAME'] = '/index.php'; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->add( 'pages/about', - static fn () => Services::incomingrequest()->getBody(), + static fn () => service('incomingrequest')->getBody(), ['filter' => Customfilter::class] ); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); ob_start(); @@ -320,15 +319,15 @@ public function testRegisterSameFilterTwiceWithDifferentArgument(): void $_SERVER['REQUEST_URI'] = '/pages/about'; $_SERVER['SCRIPT_NAME'] = '/index.php'; - $routes = Services::routes(); + $routes = service('routes'); $routes->add( 'pages/about', - static fn () => Services::incomingrequest()->getBody(), + static fn () => service('incomingrequest')->getBody(), // Set filter with no argument. ['filter' => 'test-customfilter'] ); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); /** @var FiltersConfig $filterConfig */ @@ -339,7 +338,7 @@ public function testRegisterSameFilterTwiceWithDifferentArgument(): void 'before' => ['pages/*'], ], ]; - Services::filters($filterConfig); + service('filters', $filterConfig); $this->codeigniter->run(); @@ -355,13 +354,13 @@ public function testDisableControllerFilters(): void $_SERVER['SCRIPT_NAME'] = '/index.php'; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->add( 'pages/about', - static fn () => Services::incomingrequest()->getBody(), + static fn () => service('incomingrequest')->getBody(), ['filter' => Customfilter::class] ); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); ob_start(); @@ -379,7 +378,7 @@ public function testResponseConfigEmpty(): void $_SERVER['argv'] = ['index.php', '/']; $_SERVER['argc'] = 2; - $response = Services::response(null, false); + $response = service('response', null, false); $this->assertInstanceOf(Response::class, $response); } @@ -390,7 +389,7 @@ public function testRoutesIsEmpty(): void $_SERVER['argc'] = 2; // Inject mock router. - $router = Services::router(null, Services::incomingrequest(), false); + $router = service('router', null, service('incomingrequest'), false); Services::injectMock('router', $router); ob_start(); @@ -479,12 +478,12 @@ public function testRunRedirectionWithNamed(): void $_SERVER['SCRIPT_NAME'] = '/index.php'; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->add('pages/named', static function (): void { }, ['as' => 'name']); $routes->addRedirect('example', 'name'); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); ob_start(); @@ -503,12 +502,12 @@ public function testRunRedirectionWithURI(): void $_SERVER['SCRIPT_NAME'] = '/index.php'; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->add('pages/uri', static function (): void { }); $routes->addRedirect('example', 'pages/uri'); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); ob_start(); @@ -532,11 +531,11 @@ public function testRunRedirectionWithGET(): void $_SERVER['REQUEST_METHOD'] = 'GET'; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); // addRedirect() sets status code 302 by default. $routes->addRedirect('example', 'pages/notset'); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); ob_start(); @@ -559,10 +558,10 @@ public function testRunRedirectionWithGETAndHTTPCode301(): void $_SERVER['REQUEST_METHOD'] = 'GET'; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->addRedirect('example', 'pages/notset', 301); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); ob_start(); @@ -584,10 +583,10 @@ public function testRunRedirectionWithPOSTAndHTTPCode301(): void $_SERVER['REQUEST_METHOD'] = 'POST'; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->addRedirect('example', 'pages/notset', 301); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); ob_start(); @@ -607,12 +606,12 @@ public function testRedirectExceptionDeprecated(): void $_SERVER['argc'] = 2; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->get('/', static function (): never { throw new RedirectException('redirect-exception', 503); }); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); $response = $this->codeigniter->run($routes, true); @@ -627,7 +626,7 @@ public function testStoresPreviousURL(): void $_SERVER['argc'] = 2; // Inject mock router. - $router = Services::router(null, Services::incomingrequest(), false); + $router = service('router', null, service('incomingrequest'), false); Services::injectMock('router', $router); ob_start(); @@ -649,10 +648,10 @@ public function testNotStoresPreviousURL(): void $_SERVER['REQUEST_METHOD'] = 'GET'; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->addRedirect('example', 'pages/notset', 301); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); ob_start(); @@ -671,13 +670,13 @@ public function testNotStoresPreviousURLByCheckingContentType(): void $_SERVER['SCRIPT_NAME'] = '/index.php'; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->add('image', static function () { - $response = Services::response(); + $response = service('response'); return $response->setContentType('image/jpeg', ''); }); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); ob_start(); @@ -714,7 +713,7 @@ public function testRunCLIRoute(): void $_SERVER['SERVER_PROTOCOL'] = 'HTTP/1.1'; $_SERVER['REQUEST_METHOD'] = 'CLI'; - $routes = Services::routes(); + $routes = service('routes'); $routes->cli('cli', '\Tests\Support\Controllers\Popcorn::index'); ob_start(); @@ -736,7 +735,7 @@ public function testSpoofRequestMethodCanUsePUT(): void $_POST['_method'] = Method::PUT; - $routes = \Config\Services::routes(); + $routes = service('routes'); $routes->setDefaultNamespace('App\Controllers'); $routes->resetRoutes(); $routes->post('/', 'Home::index'); @@ -746,7 +745,7 @@ public function testSpoofRequestMethodCanUsePUT(): void $this->codeigniter->run(); ob_get_clean(); - $this->assertSame(Method::PUT, Services::incomingrequest()->getMethod()); + $this->assertSame(Method::PUT, service('incomingrequest')->getMethod()); } public function testSpoofRequestMethodCannotUseGET(): void @@ -761,7 +760,7 @@ public function testSpoofRequestMethodCannotUseGET(): void $_POST['_method'] = 'GET'; - $routes = \Config\Services::routes(); + $routes = service('routes'); $routes->setDefaultNamespace('App\Controllers'); $routes->resetRoutes(); $routes->post('/', 'Home::index'); @@ -771,7 +770,7 @@ public function testSpoofRequestMethodCannotUseGET(): void $this->codeigniter->run(); ob_get_clean(); - $this->assertSame('POST', Services::incomingrequest()->getMethod()); + $this->assertSame('POST', service('incomingrequest')->getMethod()); } /** @@ -790,22 +789,22 @@ public function testPageCacheSendSecureHeaders(): void $_SERVER['REQUEST_URI'] = '/test'; $_SERVER['SCRIPT_NAME'] = '/index.php'; - $routes = Services::routes(); + $routes = service('routes'); $routes->add('test', static function () { CodeIgniter::cache(3600); - $response = Services::response(); + $response = service('response'); $string = 'This is a test page. Elapsed time: {elapsed_time}'; return $response->setBody($string); }); - $router = Services::router($routes, Services::incomingrequest()); + $router = service('router', $routes, service('incomingrequest')); Services::injectMock('router', $router); /** @var FiltersConfig $filterConfig */ $filterConfig = config('Filters'); $filterConfig->globals['after'] = ['secureheaders']; - Services::filters($filterConfig); + service('filters', $filterConfig); // The first response to be cached. ob_start(); @@ -813,7 +812,7 @@ public function testPageCacheSendSecureHeaders(): void $output = ob_get_clean(); $this->assertStringContainsString('This is a test page', $output); - $response = Services::response(); + $response = service('response'); $headers = $response->headers(); $this->assertArrayHasKey('X-Frame-Options', $headers); @@ -823,7 +822,7 @@ public function testPageCacheSendSecureHeaders(): void $output = ob_get_clean(); $this->assertStringContainsString('This is a test page', $output); - $response = Services::response(); + $response = service('response'); $headers = $response->headers(); $this->assertArrayHasKey('X-Frame-Options', $headers); @@ -869,18 +868,18 @@ public function testPageCacheWithCacheQueryString( $_SERVER['SCRIPT_NAME'] = '/index.php'; $this->codeigniter = new MockCodeIgniter(new App()); - $routes = Services::routes(true); + $routes = service('routes', true); $routePath = explode('?', $testingUrl)[0]; $string = 'This is a test page, to check cache configuration'; $routes->add($routePath, static function () use ($string) { - Services::responsecache()->setTtl(60); - $response = Services::response(); + service('responsecache')->setTtl(60); + $response = service('response'); return $response->setBody($string); }); // Inject router - $router = Services::router($routes, Services::incomingrequest(null, false)); + $router = service('router', $routes, service('incomingrequest', null, false)); Services::injectMock('router', $router); // Cache the page output using default caching function and $cacheConfig @@ -953,14 +952,14 @@ public function testRunControllerNotFoundBeforeFilter(): void $_SERVER['SCRIPT_NAME'] = '/index.php'; // Inject mock router. - $routes = Services::routes(); + $routes = service('routes'); $routes->setAutoRoute(true); // Inject the before filter. $filterConfig = config('Filters'); $filterConfig->aliases['redirectFilter'] = RedirectFilter::class; $filterConfig->globals['before'] = ['redirectFilter']; - Services::filters($filterConfig); + service('filters', $filterConfig); $this->expectException(PageNotFoundException::class); diff --git a/tests/system/Commands/BaseCommandTest.php b/tests/system/Commands/BaseCommandTest.php index 9e9a2d3408a0..cffb7963af44 100644 --- a/tests/system/Commands/BaseCommandTest.php +++ b/tests/system/Commands/BaseCommandTest.php @@ -15,7 +15,6 @@ use CodeIgniter\Log\Logger; use CodeIgniter\Test\CIUnitTestCase; -use Config\Services; use PHPUnit\Framework\Attributes\Group; use Tests\Support\Commands\AppInfo; @@ -30,7 +29,7 @@ final class BaseCommandTest extends CIUnitTestCase protected function setUp(): void { parent::setUp(); - $this->logger = Services::logger(); + $this->logger = service('logger'); } public function testMagicIssetTrue(): void diff --git a/tests/system/Commands/CommandTest.php b/tests/system/Commands/CommandTest.php index d783d25ddab0..84fa6ecac993 100644 --- a/tests/system/Commands/CommandTest.php +++ b/tests/system/Commands/CommandTest.php @@ -17,7 +17,6 @@ use CodeIgniter\Log\Logger; use CodeIgniter\Test\CIUnitTestCase; use CodeIgniter\Test\StreamFilterTrait; -use Config\Services; use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\Attributes\Group; use Tests\Support\Commands\ParamsReveal; @@ -39,8 +38,8 @@ protected function setUp(): void parent::setUp(); - $this->logger = Services::logger(); - $this->commands = Services::commands(); + $this->logger = service('logger'); + $this->commands = service('commands'); } protected function getBuffer(): string diff --git a/tests/system/Commands/RoutesTest.php b/tests/system/Commands/RoutesTest.php index 2ee9f44f1bac..7859156ccf93 100644 --- a/tests/system/Commands/RoutesTest.php +++ b/tests/system/Commands/RoutesTest.php @@ -46,7 +46,7 @@ protected function getBuffer() private function getCleanRoutes(): RouteCollection { - $routes = Services::routes(); + $routes = service('routes'); $routes->resetRoutes(); $routes->loadRoutes(); @@ -243,7 +243,7 @@ public function testRoutesCommandRouteLegacy(): void public function testRoutesCommandRouteWithRegexp(): void { - $routes = Services::routes(); + $routes = service('routes'); $routes->resetRoutes(); $routes->options('picker/(.+)', 'Options::index'); diff --git a/tests/system/Commands/ScaffoldGeneratorTest.php b/tests/system/Commands/ScaffoldGeneratorTest.php index aca2bf2a2469..fe99f2c38ccd 100644 --- a/tests/system/Commands/ScaffoldGeneratorTest.php +++ b/tests/system/Commands/ScaffoldGeneratorTest.php @@ -17,7 +17,6 @@ use CodeIgniter\Test\StreamFilterTrait; use Config\Autoload; use Config\Modules; -use Config\Services; use PHPUnit\Framework\Attributes\Group; /** @@ -31,7 +30,7 @@ final class ScaffoldGeneratorTest extends CIUnitTestCase protected function setUp(): void { $this->resetServices(); - Services::autoloader()->initialize(new Autoload(), new Modules()); + service('autoloader')->initialize(new Autoload(), new Modules()); parent::setUp(); } diff --git a/tests/system/Commands/Translation/LocalizationFinderTest.php b/tests/system/Commands/Translation/LocalizationFinderTest.php index 85bb59c7c09b..f40ae88098f5 100644 --- a/tests/system/Commands/Translation/LocalizationFinderTest.php +++ b/tests/system/Commands/Translation/LocalizationFinderTest.php @@ -16,7 +16,6 @@ use CodeIgniter\Test\CIUnitTestCase; use CodeIgniter\Test\StreamFilterTrait; use Config\App; -use Config\Services; use Locale; use PHPUnit\Framework\Attributes\Group; @@ -68,7 +67,7 @@ public function testUpdateWithIncorrectLocaleOption(): void self::$locale = 'test_locale_incorrect'; $this->makeLocaleDirectory(); - $status = Services::commands()->run('lang:find', [ + $status = service('commands')->run('lang:find', [ 'dir' => 'Translation', 'locale' => self::$locale, ]); @@ -89,7 +88,7 @@ public function testUpdateWithIncorrectDirOption(): void { $this->makeLocaleDirectory(); - $status = Services::commands()->run('lang:find', [ + $status = service('commands')->run('lang:find', [ 'dir' => 'Translation/NotExistFolder', ]); diff --git a/tests/system/Commands/Utilities/ConfigCheckTest.php b/tests/system/Commands/Utilities/ConfigCheckTest.php index 535cb0dd0489..c69cfa948635 100644 --- a/tests/system/Commands/Utilities/ConfigCheckTest.php +++ b/tests/system/Commands/Utilities/ConfigCheckTest.php @@ -13,10 +13,12 @@ namespace CodeIgniter\Commands\Utilities; +use Closure; use CodeIgniter\Test\CIUnitTestCase; use CodeIgniter\Test\StreamFilterTrait; use Config\App; -use Config\Services; +use Kint\Kint; +use Kint\Renderer\CliRenderer; use PHPUnit\Framework\Attributes\Group; /** @@ -27,6 +29,26 @@ final class ConfigCheckTest extends CIUnitTestCase { use StreamFilterTrait; + public static function setUpBeforeClass(): void + { + App::$override = false; + + putenv('NO_COLOR=1'); + CliRenderer::$cli_colors = false; + + parent::setUpBeforeClass(); + } + + public static function tearDownAfterClass(): void + { + App::$override = true; + + putenv('NO_COLOR'); + CliRenderer::$cli_colors = true; + + parent::tearDownAfterClass(); + } + protected function setUp(): void { $this->resetServices(); @@ -39,188 +61,71 @@ protected function tearDown(): void parent::tearDown(); } - protected function getBuffer() - { - return $this->getStreamFilterBuffer(); - } - - public function testCommandConfigCheckNoArg(): void + public function testCommandConfigCheckWithNoArgumentPassed(): void { command('config:check'); - $this->assertStringContainsString( - 'You must specify a Config classname.', - $this->getBuffer() - ); - } - - public function testCommandConfigCheckApp(): void - { - command('config:check App'); + $this->assertSame( + <<<'EOF' + You must specify a Config classname. + Usage: config:check + Example: config:check App + config:check 'CodeIgniter\Shield\Config\Auth' - $this->assertStringContainsString(App::class, $this->getBuffer()); - $this->assertStringContainsString("public 'baseURL", $this->getBuffer()); + EOF, + str_replace("\n\n", "\n", $this->getStreamFilterBuffer()) + ); } public function testCommandConfigCheckNonexistentClass(): void { command('config:check Nonexistent'); - $this->assertStringContainsString( - 'No such Config class: Nonexistent', - $this->getBuffer() + $this->assertSame( + "No such Config class: Nonexistent\n", + $this->getStreamFilterBuffer() ); } - public function testGetKintD(): void + public function testConfigCheckWithKintEnabledUsesKintD(): void { - $command = new ConfigCheck(Services::logger(), Services::commands()); - $getKintD = $this->getPrivateMethodInvoker($command, 'getKintD'); - - $output = $getKintD(new App()); - - $output = preg_replace( - '/(\033\[[0-9;]+m)|(\035\[[0-9;]+m)/u', - '', - $output + /** @var Closure(object): string $command */ + $command = $this->getPrivateMethodInvoker( + new ConfigCheck(service('logger'), service('commands')), + 'getKintD' ); - $this->assertStringContainsString( - 'Config\App#', - $output - ); - $this->assertStringContainsString( - <<<'EOL' - ( - public 'baseURL' -> string (19) "http://example.com/" - public 'allowedHostnames' -> array (0) [] - public 'indexPage' -> string (9) "index.php" - public 'uriProtocol' -> string (11) "REQUEST_URI" - public 'permittedURIChars' -> string (14) "a-z 0-9~%.:_\-" - public 'defaultLocale' -> string (2) "en" - public 'negotiateLocale' -> boolean false - public 'supportedLocales' -> array (1) [ - 0 => string (2) "en" - ] - public 'appTimezone' -> string (3) "UTC" - public 'charset' -> string (5) "UTF-8" - public 'forceGlobalSecureRequests' -> boolean false - public 'proxyIPs' -> array (0) [] - public 'CSPEnabled' -> boolean false - EOL, - $output + command('config:check App'); + + $this->assertSame( + $command(config('App')) . "\n", + preg_replace('/\s+Config Caching: \S+/', '', $this->getStreamFilterBuffer()) ); } - public function testGetVarDump(): void + public function testConfigCheckWithKintDisabledUsesVarDump(): void { - $command = new ConfigCheck(Services::logger(), Services::commands()); - $getVarDump = $this->getPrivateMethodInvoker($command, 'getVarDump'); - - $output = $getVarDump(new App()); - - if ( - ini_get('xdebug.mode') - && in_array( - 'develop', - explode(',', ini_get('xdebug.mode')), - true - ) - ) { - // Xdebug force adds colors on xdebug.cli_color=2 - $output = preg_replace( - '/(\033\[[0-9;]+m)|(\035\[[0-9;]+m)/u', - '', - $output - ); + /** @var Closure(object): string $command */ + $command = $this->getPrivateMethodInvoker( + new ConfigCheck(service('logger'), service('commands')), + 'getVarDump' + ); + $clean = static fn (string $input): string => trim(preg_replace( + '/(\033\[[0-9;]+m)|(\035\[[0-9;]+m)/u', + '', + $input + )); - // Xdebug overloads var_dump(). - $this->assertStringContainsString( - 'class Config\App#', - $output - ); - $this->assertStringContainsString( - <<<'EOL' - { - public string $baseURL => - string(19) "http://example.com/" - public array $allowedHostnames => - array(0) { - } - public string $indexPage => - string(9) "index.php" - public string $uriProtocol => - string(11) "REQUEST_URI" - public string $permittedURIChars => - string(14) "a-z 0-9~%.:_\-" - public string $defaultLocale => - string(2) "en" - public bool $negotiateLocale => - bool(false) - public array $supportedLocales => - array(1) { - [0] => - string(2) "en" - } - public string $appTimezone => - string(3) "UTC" - public string $charset => - string(5) "UTF-8" - public bool $forceGlobalSecureRequests => - bool(false) - public array $proxyIPs => - array(0) { - } - public bool $CSPEnabled => - bool(false) - } - EOL, - $output - ); - } else { - // PHP's var_dump(). - $this->assertStringContainsString( - 'object(Config\App)#', - $output - ); - $this->assertStringContainsString( - <<<'EOL' - { - ["baseURL"]=> - string(19) "http://example.com/" - ["allowedHostnames"]=> - array(0) { - } - ["indexPage"]=> - string(9) "index.php" - ["uriProtocol"]=> - string(11) "REQUEST_URI" - ["permittedURIChars"]=> - string(14) "a-z 0-9~%.:_\-" - ["defaultLocale"]=> - string(2) "en" - ["negotiateLocale"]=> - bool(false) - ["supportedLocales"]=> - array(1) { - [0]=> - string(2) "en" - } - ["appTimezone"]=> - string(3) "UTC" - ["charset"]=> - string(5) "UTF-8" - ["forceGlobalSecureRequests"]=> - bool(false) - ["proxyIPs"]=> - array(0) { - } - ["CSPEnabled"]=> - bool(false) - } - EOL, - $output + try { + Kint::$enabled_mode = false; + command('config:check App'); + + $this->assertSame( + $clean($command(config('App'))), + $clean(preg_replace('/\s+Config Caching: \S+/', '', $this->getStreamFilterBuffer())) ); + } finally { + Kint::$enabled_mode = true; } } } diff --git a/tests/system/Commands/Utilities/NamespacesTest.php b/tests/system/Commands/Utilities/NamespacesTest.php index c32d9280aef4..ffdfa0ddcf8d 100644 --- a/tests/system/Commands/Utilities/NamespacesTest.php +++ b/tests/system/Commands/Utilities/NamespacesTest.php @@ -42,7 +42,7 @@ protected function tearDown(): void */ protected function getBuffer() { - return preg_replace_callback('/(\|\s*[^|]+\s*\|\s*)(.*?)(\s*\|\s*[^|]+\s*\|)/', static function (array $matches) { + return preg_replace_callback('/(\|\s*[^|]+\s*\|\s*)(.*?)(\s*\|\s*[^|]+\s*\|)/', static function (array $matches): string { $matches[2] = str_replace(DIRECTORY_SEPARATOR, '/', $matches[2]); return $matches[1] . $matches[2] . $matches[3]; diff --git a/tests/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollectorTest.php b/tests/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollectorTest.php index a669385568dd..3413d1a83b86 100644 --- a/tests/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollectorTest.php +++ b/tests/system/Commands/Utilities/Routes/AutoRouterImproved/AutoRouteCollectorTest.php @@ -16,7 +16,6 @@ use CodeIgniter\HTTP\Method; use CodeIgniter\Test\CIUnitTestCase; use Config\Filters; -use Config\Services; use PHPUnit\Framework\Attributes\Group; /** @@ -34,7 +33,7 @@ protected function setUp(): void private function createAutoRouteCollector(array $filterConfigFilters): AutoRouteCollector { - $routes = Services::routes(); + $routes = service('routes'); $routes->resetRoutes(); $routes->setAutoRoute(true); config('Feature')->autoRoutesImproved = true; @@ -44,7 +43,7 @@ private function createAutoRouteCollector(array $filterConfigFilters): AutoRoute /** @var Filters $filterConfig */ $filterConfig = config('Filters'); $filterConfig->filters = $filterConfigFilters; - Services::filters($filterConfig); + service('filters', $filterConfig); return new AutoRouteCollector( $namespace, diff --git a/tests/system/Commands/Utilities/Routes/FilterCollectorTest.php b/tests/system/Commands/Utilities/Routes/FilterCollectorTest.php index e3b86fcf9a56..fb6c0e5e8ebd 100644 --- a/tests/system/Commands/Utilities/Routes/FilterCollectorTest.php +++ b/tests/system/Commands/Utilities/Routes/FilterCollectorTest.php @@ -15,7 +15,6 @@ use CodeIgniter\HTTP\Method; use CodeIgniter\Test\CIUnitTestCase; -use Config\Services; use PHPUnit\Framework\Attributes\Group; /** @@ -26,7 +25,7 @@ final class FilterCollectorTest extends CIUnitTestCase { public function testGet(): void { - $routes = Services::routes(); + $routes = service('routes'); $routes->resetRoutes(); $routes->setDefaultNamespace('App\Controllers'); $routes->get('/', 'Home::index'); diff --git a/tests/system/Commands/Utilities/Routes/FilterFinderTest.php b/tests/system/Commands/Utilities/Routes/FilterFinderTest.php index d96571c6b2f2..7bba11d9c968 100644 --- a/tests/system/Commands/Utilities/Routes/FilterFinderTest.php +++ b/tests/system/Commands/Utilities/Routes/FilterFinderTest.php @@ -13,7 +13,6 @@ namespace CodeIgniter\Commands\Utilities\Routes; -use CodeIgniter\Config\Services; use CodeIgniter\Filters\CSRF; use CodeIgniter\Filters\DebugToolbar; use CodeIgniter\Filters\Filters; @@ -47,8 +46,8 @@ protected function setUp(): void { parent::setUp(); - $this->request = Services::request(); - $this->response = Services::response(); + $this->request = service('request'); + $this->response = service('response'); $this->moduleConfig = new Modules(); $this->moduleConfig->enabled = false; @@ -56,7 +55,7 @@ protected function setUp(): void private function createRouteCollection(array $routes = []): RouteCollection { - $collection = new RouteCollection(Services::locator(), $this->moduleConfig, new Routing()); + $collection = new RouteCollection(service('locator'), $this->moduleConfig, new Routing()); $routes = ($routes !== []) ? $routes : [ 'users' => 'Users::index', diff --git a/tests/system/Commands/Utilities/Routes/SampleURIGeneratorTest.php b/tests/system/Commands/Utilities/Routes/SampleURIGeneratorTest.php index d5f3d4a542c8..6b5c10e45ea0 100644 --- a/tests/system/Commands/Utilities/Routes/SampleURIGeneratorTest.php +++ b/tests/system/Commands/Utilities/Routes/SampleURIGeneratorTest.php @@ -13,7 +13,6 @@ namespace CodeIgniter\Commands\Utilities\Routes; -use CodeIgniter\Config\Services; use CodeIgniter\Test\CIUnitTestCase; use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\Attributes\Group; @@ -49,7 +48,7 @@ public static function provideGet(): iterable public function testGetFromPlaceholderCustomPlaceholder(): void { - $routes = Services::routes(); + $routes = service('routes'); $routes->addPlaceholder( 'uuid', '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}' diff --git a/tests/system/CommonFunctionsTest.php b/tests/system/CommonFunctionsTest.php index faa96e1fea4e..d708b193f56b 100644 --- a/tests/system/CommonFunctionsTest.php +++ b/tests/system/CommonFunctionsTest.php @@ -630,11 +630,11 @@ public function testViewNotSaveData(): void #[WithoutErrorHandler] public function testForceHttpsNullRequestAndResponse(): void { - $this->assertNull(Services::response()->header('Location')); + $this->assertNull(service('response')->header('Location')); - Services::response()->setCookie('force', 'cookie'); - Services::response()->setHeader('Force', 'header'); - Services::response()->setBody('default body'); + service('response')->setCookie('force', 'cookie'); + service('response')->setHeader('Force', 'header'); + service('response')->setBody('default body'); try { force_https(); @@ -726,7 +726,7 @@ public function testDWithCSP(): void $config->CSPEnabled = true; // Initialize Kint - Services::autoloader()->initializeKint(CI_DEBUG); + service('autoloader')->initializeKint(CI_DEBUG); $cliDetection = Kint::$cli_detection; Kint::$cli_detection = false; @@ -750,7 +750,7 @@ public function testTraceWithCSP(): void $config->CSPEnabled = true; // Initialize Kint - Services::autoloader()->initializeKint(CI_DEBUG); + service('autoloader')->initializeKint(CI_DEBUG); Kint::$cli_detection = false; diff --git a/tests/system/CommonHelperTest.php b/tests/system/CommonHelperTest.php index 90b417d41639..db304ecfdb70 100644 --- a/tests/system/CommonHelperTest.php +++ b/tests/system/CommonHelperTest.php @@ -82,7 +82,7 @@ private function cleanUpDummyHelpers(): void private function getMockLocator() { return $this->getMockBuilder(FileLocator::class) - ->setConstructorArgs([Services::autoloader()]) + ->setConstructorArgs([service('autoloader')]) ->onlyMethods(['search']) ->getMock(); } @@ -90,7 +90,7 @@ private function getMockLocator() public function testHelperWithFatalLocatorThrowsException(): void { // Replace the locator with one that will fail if it is called - $locator = new FatalLocator(Services::autoloader()); + $locator = new FatalLocator(service('autoloader')); Services::injectMock('locator', $locator); try { @@ -109,7 +109,7 @@ public function testHelperLoadsOnce(): void helper('baguette'); // Replace the locator with one that will fail if it is called - $locator = new FatalLocator(Services::autoloader()); + $locator = new FatalLocator(service('autoloader')); Services::injectMock('locator', $locator); try { diff --git a/tests/system/CommonSingleServiceTest.php b/tests/system/CommonSingleServiceTest.php index a8b4c6dabc32..6a07695dfbe1 100644 --- a/tests/system/CommonSingleServiceTest.php +++ b/tests/system/CommonSingleServiceTest.php @@ -48,7 +48,7 @@ public function testSingleServiceWithAtLeastOneParamSupplied(string $service): v { if ($service === 'commands') { $locator = $this->getMockBuilder(FileLocator::class) - ->setConstructorArgs([Services::autoloader()]) + ->setConstructorArgs([service('autoloader')]) ->onlyMethods(['listFiles']) ->getMock(); diff --git a/tests/system/Config/DotEnvTest.php b/tests/system/Config/DotEnvTest.php index b2f8e8e947b7..6fd287be6ad5 100644 --- a/tests/system/Config/DotEnvTest.php +++ b/tests/system/Config/DotEnvTest.php @@ -32,7 +32,6 @@ final class DotEnvTest extends CIUnitTestCase { private ?vfsStreamDirectory $root; - private string $path; private string $fixturesFolder; #[WithoutErrorHandler] @@ -42,8 +41,8 @@ protected function setUp(): void $this->root = vfsStream::setup(); $this->fixturesFolder = $this->root->url(); - $this->path = TESTPATH . 'system/Config/fixtures'; - vfsStream::copyFromFileSystem($this->path, $this->root); + $path = TESTPATH . 'system/Config/fixtures'; + vfsStream::copyFromFileSystem($path, $this->root); $file = 'unreadable.env'; $path = rtrim($this->fixturesFolder, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . $file; diff --git a/tests/system/Config/ServicesTest.php b/tests/system/Config/ServicesTest.php index 2c093724ac71..e2679757f9a9 100644 --- a/tests/system/Config/ServicesTest.php +++ b/tests/system/Config/ServicesTest.php @@ -216,7 +216,7 @@ public function testNewThrottler(): void public function testNewToolbar(): void { - $actual = Services::toolbar(null); + $actual = service('toolbar', null); $this->assertInstanceOf(Toolbar::class, $actual); } @@ -385,7 +385,7 @@ public function testFilters(): void public function testFormat(): void { - $this->assertInstanceOf(Format::class, Services::format()); + $this->assertInstanceOf(Format::class, service('format')); } public function testUnsharedFormat(): void diff --git a/tests/system/ControllerTest.php b/tests/system/ControllerTest.php index add07fc20dd4..55664c42c779 100644 --- a/tests/system/ControllerTest.php +++ b/tests/system/ControllerTest.php @@ -23,7 +23,6 @@ use CodeIgniter\Test\CIUnitTestCase; use CodeIgniter\Validation\Exceptions\ValidationException; use Config\App; -use Config\Services; use Config\Validation as ValidationConfig; use PHPUnit\Framework\Attributes\BackupGlobals; use PHPUnit\Framework\Attributes\Group; @@ -40,7 +39,6 @@ #[Group('Others')] final class ControllerTest extends CIUnitTestCase { - private App $config; private ?Controller $controller = null; /** @@ -59,10 +57,10 @@ protected function setUp(): void { parent::setUp(); - $this->config = new App(); - $this->request = new IncomingRequest($this->config, new SiteURI($this->config), null, new UserAgent()); - $this->response = new Response($this->config); - $this->logger = Services::logger(); + $config = new App(); + $this->request = new IncomingRequest($config, new SiteURI($config), null, new UserAgent()); + $this->response = new Response($config); + $this->logger = service('logger'); } public function testConstructor(): void @@ -150,7 +148,7 @@ public function testValidateWithStringRulesFoundReadMessagesFromValidationConfig $method = $this->getPrivateMethodInvoker($this->controller, 'validate'); $this->assertFalse($method('signup')); - $this->assertSame('You must choose a username.', Services::validation()->getError('username')); + $this->assertSame('You must choose a username.', service('validation')->getError('username')); } public function testValidateWithStringRulesFoundUseMessagesParameter(): void @@ -175,7 +173,7 @@ public function testValidateWithStringRulesFoundUseMessagesParameter(): void 'required' => 'You must choose a username.', ], ])); - $this->assertSame('You must choose a username.', Services::validation()->getError('username')); + $this->assertSame('You must choose a username.', service('validation')->getError('username')); } public function testValidateData(): void @@ -197,7 +195,7 @@ public function testValidateData(): void $this->assertFalse($method($data, $rule)); $this->assertSame( 'The password field must be at least 10 characters in length.', - Services::validation()->getError('password') + service('validation')->getError('password') ); } @@ -226,11 +224,11 @@ public function testValidateDataWithCustomErrorMessage(): void $this->assertFalse($method($data, $rules, $errors)); $this->assertSame( '"username" must be 3 letters or longer.', - Services::validation()->getError('username') + service('validation')->getError('username') ); $this->assertSame( 'The password field must be at least 10 characters in length.', - Services::validation()->getError('password') + service('validation')->getError('password') ); } @@ -264,11 +262,11 @@ public function testValidateDataWithCustomErrorMessageLabeledStyle(): void $this->assertFalse($method($data, $rules)); $this->assertSame( '"Username" must be 3 letters or longer.', - Services::validation()->getError('username') + service('validation')->getError('username') ); $this->assertSame( 'The Password field must be at least 10 characters in length.', - Services::validation()->getError('password') + service('validation')->getError('password') ); } diff --git a/tests/system/DataConverter/DataConverterTest.php b/tests/system/DataConverter/DataConverterTest.php index 6592f4d801c6..c57e8593af86 100644 --- a/tests/system/DataConverter/DataConverterTest.php +++ b/tests/system/DataConverter/DataConverterTest.php @@ -570,7 +570,7 @@ public function testReconstructObjectWithClosure(): void 'created_at' => 'datetime', 'updated_at' => 'datetime', ]; - $reconstructor = static function ($array) { + $reconstructor = static function ($array): User { $user = new User(); $user->fill($array); @@ -667,13 +667,11 @@ public function testExtractWithClosure(): void 'created_at' => 'datetime', 'updated_at' => 'datetime', ]; - $extractor = static function ($obj) { - $array['id'] = $obj->id; - $array['name'] = $obj->name; - $array['created_at'] = $obj->created_at; - - return $array; - }; + $extractor = static fn ($obj): array => [ + 'id' => $obj->id, + 'name' => $obj->name, + 'created_at' => $obj->created_at, + ]; $converter = $this->createDataConverter($types, [], db_connect(), null, $extractor); $phpData = [ diff --git a/tests/system/Database/DatabaseTestCase/DatabaseTestCaseMigrationOnce1Test.php b/tests/system/Database/DatabaseTestCase/DatabaseTestCaseMigrationOnce1Test.php index 8a0980f853a9..c3e744749909 100644 --- a/tests/system/Database/DatabaseTestCase/DatabaseTestCaseMigrationOnce1Test.php +++ b/tests/system/Database/DatabaseTestCase/DatabaseTestCaseMigrationOnce1Test.php @@ -16,7 +16,6 @@ use CodeIgniter\Test\CIUnitTestCase; use CodeIgniter\Test\DatabaseTestTrait; use Config\Database; -use Config\Services; use PHPUnit\Framework\Attributes\Group; /** @@ -68,7 +67,7 @@ protected function setUp(): void protected function setUpAddNamespace(): void { - Services::autoloader()->addNamespace( + service('autoloader')->addNamespace( 'Tests\Support\MigrationTestMigrations', SUPPORTPATH . 'MigrationTestMigrations' ); diff --git a/tests/system/Database/DatabaseTestCase/DatabaseTestCaseMigrationOnce2Test.php b/tests/system/Database/DatabaseTestCase/DatabaseTestCaseMigrationOnce2Test.php index 5c4013e055e1..7820b83c06c7 100644 --- a/tests/system/Database/DatabaseTestCase/DatabaseTestCaseMigrationOnce2Test.php +++ b/tests/system/Database/DatabaseTestCase/DatabaseTestCaseMigrationOnce2Test.php @@ -16,7 +16,6 @@ use CodeIgniter\Test\CIUnitTestCase; use CodeIgniter\Test\DatabaseTestTrait; use Config\Database; -use Config\Services; use PHPUnit\Framework\Attributes\Group; /** @@ -68,7 +67,7 @@ protected function setUp(): void protected function setUpAddNamespace(): void { - Services::autoloader()->addNamespace( + service('autoloader')->addNamespace( 'Tests\Support\MigrationTestMigrations', SUPPORTPATH . 'MigrationTestMigrations' ); diff --git a/tests/system/Database/DatabaseTestCaseTest.php b/tests/system/Database/DatabaseTestCaseTest.php index c6a03022df72..76867e852e23 100644 --- a/tests/system/Database/DatabaseTestCaseTest.php +++ b/tests/system/Database/DatabaseTestCaseTest.php @@ -16,7 +16,6 @@ use CodeIgniter\Test\CIUnitTestCase; use CodeIgniter\Test\DatabaseTestTrait; use Config\Database; -use Config\Services; use PHPUnit\Framework\Attributes\Group; use Tests\Support\Database\Seeds\AnotherSeeder; use Tests\Support\Database\Seeds\CITestSeeder; @@ -73,7 +72,7 @@ protected function setUp(): void protected function setUpAddNamespace(): void { - Services::autoloader()->addNamespace( + service('autoloader')->addNamespace( 'Tests\Support\MigrationTestMigrations', SUPPORTPATH . 'MigrationTestMigrations' ); diff --git a/tests/system/Database/Live/AbstractGetFieldDataTestCase.php b/tests/system/Database/Live/AbstractGetFieldDataTestCase.php index 60413acc784f..011564992922 100644 --- a/tests/system/Database/Live/AbstractGetFieldDataTestCase.php +++ b/tests/system/Database/Live/AbstractGetFieldDataTestCase.php @@ -104,8 +104,8 @@ protected function createTableForType(): void $this->forge->dropTable($this->table, true); // missing types: - // TINYINT,MEDIUMINT,BIT,YEAR,BINARY,VARBINARY,TINYTEXT,LONGTEXT, - // JSON,Spatial data types + // TINYINT,MEDIUMINT,BIT,YEAR,BINARY,VARBINARY (BLOB more or less handles these two), + // TINYTEXT,LONGTEXT,JSON,Spatial data types // `id` must be INTEGER else SQLite3 error on not null for autoincrement field. $fields = [ 'id' => ['type' => 'INTEGER', 'constraint' => 20, 'auto_increment' => true], @@ -138,8 +138,7 @@ protected function createTableForType(): void $fields['type_enum'], $fields['type_set'], $fields['type_mediumtext'], - $fields['type_double'], - $fields['type_blob'] + $fields['type_double'] ); } @@ -147,8 +146,7 @@ protected function createTableForType(): void unset( $fields['type_set'], $fields['type_mediumtext'], - $fields['type_double'], - $fields['type_blob'] + $fields['type_double'] ); } diff --git a/tests/system/Database/Live/ForgeTest.php b/tests/system/Database/Live/ForgeTest.php index 7fccd6b1d298..16ea6b528c89 100644 --- a/tests/system/Database/Live/ForgeTest.php +++ b/tests/system/Database/Live/ForgeTest.php @@ -81,8 +81,11 @@ public function testCreateDatabaseWithDots(): void $this->assertFalse($result); $db->close(); + if ($this->db->DBDriver !== 'SQLite3') { $this->forge->dropDatabase($dbName); + } elseif (is_file($db->database)) { + unlink($db->database); } } @@ -278,15 +281,15 @@ public function testCreateTableApplyBigInt(): void $fieldsData = $this->db->getFieldData('forge_test_table'); if ($this->db->DBDriver === 'MySQLi') { - $this->assertSame(strtolower($fieldsData[0]->type), 'bigint'); + $this->assertSame('bigint', strtolower($fieldsData[0]->type)); } elseif ($this->db->DBDriver === 'Postgre') { - $this->assertSame(strtolower($fieldsData[0]->type), 'bigint'); + $this->assertSame('bigint', strtolower($fieldsData[0]->type)); } elseif ($this->db->DBDriver === 'SQLite3') { - $this->assertSame(strtolower($fieldsData[0]->type), 'integer'); + $this->assertSame('integer', strtolower($fieldsData[0]->type)); } elseif ($this->db->DBDriver === 'OCI8') { - $this->assertSame(strtolower($fieldsData[0]->type), 'number'); + $this->assertSame('number', strtolower($fieldsData[0]->type)); } elseif ($this->db->DBDriver === 'SQLSRV') { - $this->assertSame(strtolower($fieldsData[0]->type), 'bigint'); + $this->assertSame('bigint', strtolower($fieldsData[0]->type)); } $this->forge->dropTable('forge_test_table', true); @@ -1166,65 +1169,65 @@ public function testCompositeKey(): void $keys = $this->db->getIndexData('forge_test_1'); if ($this->db->DBDriver === 'MySQLi') { - $this->assertSame($keys['PRIMARY']->name, 'PRIMARY'); + $this->assertSame('PRIMARY', $keys['PRIMARY']->name); $this->assertSame($keys['PRIMARY']->fields, ['id']); - $this->assertSame($keys['PRIMARY']->type, 'PRIMARY'); + $this->assertSame('PRIMARY', $keys['PRIMARY']->type); - $this->assertSame($keys['code_company']->name, 'code_company'); + $this->assertSame('code_company', $keys['code_company']->name); $this->assertSame($keys['code_company']->fields, ['code', 'company']); - $this->assertSame($keys['code_company']->type, 'INDEX'); + $this->assertSame('INDEX', $keys['code_company']->type); - $this->assertSame($keys['code_active']->name, 'code_active'); + $this->assertSame('code_active', $keys['code_active']->name); $this->assertSame($keys['code_active']->fields, ['code', 'active']); - $this->assertSame($keys['code_active']->type, 'UNIQUE'); + $this->assertSame('UNIQUE', $keys['code_active']->type); } elseif ($this->db->DBDriver === 'Postgre') { - $this->assertSame($keys['pk_db_forge_test_1']->name, 'pk_db_forge_test_1'); + $this->assertSame('pk_db_forge_test_1', $keys['pk_db_forge_test_1']->name); $this->assertSame($keys['pk_db_forge_test_1']->fields, ['id']); - $this->assertSame($keys['pk_db_forge_test_1']->type, 'PRIMARY'); + $this->assertSame('PRIMARY', $keys['pk_db_forge_test_1']->type); - $this->assertSame($keys['db_forge_test_1_code_company']->name, 'db_forge_test_1_code_company'); + $this->assertSame('db_forge_test_1_code_company', $keys['db_forge_test_1_code_company']->name); $this->assertSame($keys['db_forge_test_1_code_company']->fields, ['code', 'company']); - $this->assertSame($keys['db_forge_test_1_code_company']->type, 'INDEX'); + $this->assertSame('INDEX', $keys['db_forge_test_1_code_company']->type); - $this->assertSame($keys['db_forge_test_1_code_active']->name, 'db_forge_test_1_code_active'); + $this->assertSame('db_forge_test_1_code_active', $keys['db_forge_test_1_code_active']->name); $this->assertSame($keys['db_forge_test_1_code_active']->fields, ['code', 'active']); - $this->assertSame($keys['db_forge_test_1_code_active']->type, 'UNIQUE'); + $this->assertSame('UNIQUE', $keys['db_forge_test_1_code_active']->type); } elseif ($this->db->DBDriver === 'SQLite3') { - $this->assertSame($keys['PRIMARY']->name, 'PRIMARY'); + $this->assertSame('PRIMARY', $keys['PRIMARY']->name); $this->assertSame($keys['PRIMARY']->fields, ['id']); - $this->assertSame($keys['PRIMARY']->type, 'PRIMARY'); + $this->assertSame('PRIMARY', $keys['PRIMARY']->type); - $this->assertSame($keys['db_forge_test_1_code_company']->name, 'db_forge_test_1_code_company'); + $this->assertSame('db_forge_test_1_code_company', $keys['db_forge_test_1_code_company']->name); $this->assertSame($keys['db_forge_test_1_code_company']->fields, ['code', 'company']); - $this->assertSame($keys['db_forge_test_1_code_company']->type, 'INDEX'); + $this->assertSame('INDEX', $keys['db_forge_test_1_code_company']->type); - $this->assertSame($keys['db_forge_test_1_code_active']->name, 'db_forge_test_1_code_active'); + $this->assertSame('db_forge_test_1_code_active', $keys['db_forge_test_1_code_active']->name); $this->assertSame($keys['db_forge_test_1_code_active']->fields, ['code', 'active']); - $this->assertSame($keys['db_forge_test_1_code_active']->type, 'UNIQUE'); + $this->assertSame('UNIQUE', $keys['db_forge_test_1_code_active']->type); } elseif ($this->db->DBDriver === 'SQLSRV') { - $this->assertSame($keys['pk_db_forge_test_1']->name, 'pk_db_forge_test_1'); + $this->assertSame('pk_db_forge_test_1', $keys['pk_db_forge_test_1']->name); $this->assertSame($keys['pk_db_forge_test_1']->fields, ['id']); - $this->assertSame($keys['pk_db_forge_test_1']->type, 'PRIMARY'); + $this->assertSame('PRIMARY', $keys['pk_db_forge_test_1']->type); - $this->assertSame($keys['db_forge_test_1_code_company']->name, 'db_forge_test_1_code_company'); + $this->assertSame('db_forge_test_1_code_company', $keys['db_forge_test_1_code_company']->name); $this->assertSame($keys['db_forge_test_1_code_company']->fields, ['code', 'company']); - $this->assertSame($keys['db_forge_test_1_code_company']->type, 'INDEX'); + $this->assertSame('INDEX', $keys['db_forge_test_1_code_company']->type); - $this->assertSame($keys['db_forge_test_1_code_active']->name, 'db_forge_test_1_code_active'); + $this->assertSame('db_forge_test_1_code_active', $keys['db_forge_test_1_code_active']->name); $this->assertSame($keys['db_forge_test_1_code_active']->fields, ['code', 'active']); - $this->assertSame($keys['db_forge_test_1_code_active']->type, 'UNIQUE'); + $this->assertSame('UNIQUE', $keys['db_forge_test_1_code_active']->type); } elseif ($this->db->DBDriver === 'OCI8') { - $this->assertSame($keys['pk_db_forge_test_1']->name, 'pk_db_forge_test_1'); + $this->assertSame('pk_db_forge_test_1', $keys['pk_db_forge_test_1']->name); $this->assertSame($keys['pk_db_forge_test_1']->fields, ['id']); - $this->assertSame($keys['pk_db_forge_test_1']->type, 'PRIMARY'); + $this->assertSame('PRIMARY', $keys['pk_db_forge_test_1']->type); - $this->assertSame($keys['db_forge_test_1_code_company']->name, 'db_forge_test_1_code_company'); + $this->assertSame('db_forge_test_1_code_company', $keys['db_forge_test_1_code_company']->name); $this->assertSame($keys['db_forge_test_1_code_company']->fields, ['code', 'company']); - $this->assertSame($keys['db_forge_test_1_code_company']->type, 'INDEX'); + $this->assertSame('INDEX', $keys['db_forge_test_1_code_company']->type); - $this->assertSame($keys['db_forge_test_1_code_active']->name, 'db_forge_test_1_code_active'); + $this->assertSame('db_forge_test_1_code_active', $keys['db_forge_test_1_code_active']->name); $this->assertSame($keys['db_forge_test_1_code_active']->fields, ['code', 'active']); - $this->assertSame($keys['db_forge_test_1_code_active']->type, 'UNIQUE'); + $this->assertSame('UNIQUE', $keys['db_forge_test_1_code_active']->type); } $this->forge->dropTable('forge_test_1', true); @@ -1615,9 +1618,15 @@ public function testDropKey(): void public function testAddTextColumnWithConstraint(): void { // some DBMS do not allow a constraint for type TEXT - $this->forge->addColumn('user', [ - 'text_with_constraint' => ['type' => 'text', 'constraint' => 255, 'default' => ''], - ]); + if ($this->db->DBDriver === 'SQLSRV') { + $this->forge->addColumn('user', [ + 'text_with_constraint' => ['type' => 'nvarchar(max)', 'default' => ''], + ]); + } else { + $this->forge->addColumn('user', [ + 'text_with_constraint' => ['type' => 'text', 'constraint' => 255, 'default' => ''], + ]); + } $this->assertTrue($this->db->fieldExists('text_with_constraint', 'user')); diff --git a/tests/system/Database/Live/GetTest.php b/tests/system/Database/Live/GetTest.php index 681af7344183..ce98ebf413e0 100644 --- a/tests/system/Database/Live/GetTest.php +++ b/tests/system/Database/Live/GetTest.php @@ -178,7 +178,7 @@ public function testGetFieldData(): void $this->assertSame('int', $typeTest[0]->type_name); // INTEGER AUTOINC $this->assertSame('varchar', $typeTest[1]->type_name); // VARCHAR $this->assertSame('char', $typeTest[2]->type_name); // CHAR - $this->assertSame('text', $typeTest[3]->type_name); // TEXT + $this->assertSame('nvarchar', $typeTest[3]->type_name); // TEXT $this->assertSame('smallint', $typeTest[4]->type_name); // SMALLINT $this->assertSame('int', $typeTest[5]->type_name); // INTEGER $this->assertSame('float', $typeTest[6]->type_name); // FLOAT diff --git a/tests/system/Database/Live/InsertTest.php b/tests/system/Database/Live/InsertTest.php index 217632551b29..ca2117a06b35 100644 --- a/tests/system/Database/Live/InsertTest.php +++ b/tests/system/Database/Live/InsertTest.php @@ -97,7 +97,7 @@ public function testReplaceWithNoMatchingData(): void $this->db->table('job')->replace($data); $row = $this->db->table('job') - ->getwhere(['id' => 5]) + ->getWhere(['id' => 5]) ->getRow(); $this->assertSame('Cab Driver', $row->name); @@ -114,7 +114,7 @@ public function testReplaceWithMatchingData(): void $this->db->table('job')->replace($data); $row = $this->db->table('job') - ->getwhere(['id' => 1]) + ->getWhere(['id' => 1]) ->getRow(); $this->assertSame('Cab Driver', $row->name); @@ -135,7 +135,7 @@ public function testReplaceTwice(): void $builder->replace($data); $row = $this->db->table('job') - ->getwhere(['id' => 1]) + ->getWhere(['id' => 1]) ->getRow(); $this->assertSame('John Smith', $row->name); @@ -147,7 +147,7 @@ public function testReplaceTwice(): void $builder->replace($data); $row = $this->db->table('job') - ->getwhere(['id' => 2]) + ->getWhere(['id' => 2]) ->getRow(); $this->assertSame('Hans Schmidt', $row->name); } diff --git a/tests/system/Database/Live/LikeTest.php b/tests/system/Database/Live/LikeTest.php index 5884f9d01220..9591eef72ea8 100644 --- a/tests/system/Database/Live/LikeTest.php +++ b/tests/system/Database/Live/LikeTest.php @@ -16,6 +16,7 @@ use CodeIgniter\Database\RawSql; use CodeIgniter\Test\CIUnitTestCase; use CodeIgniter\Test\DatabaseTestTrait; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\Attributes\Group; use Tests\Support\Database\Seeds\CITestSeeder; @@ -75,6 +76,29 @@ public function testLikeCaseInsensitive(): void $this->assertSame('Developer', $job->name); } + #[DataProvider('provideMultibyteCharacters')] + public function testLikeCaseInsensitiveWithMultibyteCharacter(string $match, string $result): void + { + $wai = $this->db->table('without_auto_increment')->like('value', $match, 'both', null, true)->get(); + $wai = $wai->getRow(); + + $this->assertSame($result, $wai->key); + } + + /** + * @return iterable + */ + public static function provideMultibyteCharacters(): iterable + { + yield from [ + 'polish' => ['ŁĄ', 'multibyte characters pl'], + 'farsi' => ['خٌوب', 'multibyte characters fa'], + 'bengali' => ['টাইপ', 'multibyte characters bn'], + 'korean' => ['캐스팅', 'multibyte characters ko'], + 'malayalam' => ['ടൈപ്പ്', 'multibyte characters ml'], + ]; + } + public function testOrLike(): void { $jobs = $this->db->table('job')->like('name', 'ian') diff --git a/tests/system/Database/Live/MetadataTest.php b/tests/system/Database/Live/MetadataTest.php index 56e5d70a60e8..0488dd2f4a51 100644 --- a/tests/system/Database/Live/MetadataTest.php +++ b/tests/system/Database/Live/MetadataTest.php @@ -101,7 +101,7 @@ public function testListTablesUnconstrainedByPrefixReturnsAllTables(): void $expectedTables[] = 'tmp_widgets'; sort($tables); - $this->assertSame($expectedTables, array_values($tables)); + $this->assertSame($expectedTables, $tables); } finally { $this->dropExtraneousTable(); } @@ -117,7 +117,7 @@ public function testListTablesConstrainedByPrefixReturnsOnlyTablesWithMatchingPr $this->assertNotSame([], $tables); sort($tables); - $this->assertSame($this->expectedTables, array_values($tables)); + $this->assertSame($this->expectedTables, $tables); } finally { $this->dropExtraneousTable(); } @@ -138,7 +138,7 @@ public function testListTablesConstrainedByExtraneousPrefixReturnsOnlyTheExtrane $this->assertNotSame([], $tables); sort($tables); - $this->assertSame(['tmp_widgets'], array_values($tables)); + $this->assertSame(['tmp_widgets'], $tables); } finally { $this->db->setPrefix($oldPrefix); $this->dropExtraneousTable(); diff --git a/tests/system/Database/Live/MySQLi/RawSqlTest.php b/tests/system/Database/Live/MySQLi/RawSqlTest.php index e136d526e2de..03c694d0ab47 100644 --- a/tests/system/Database/Live/MySQLi/RawSqlTest.php +++ b/tests/system/Database/Live/MySQLi/RawSqlTest.php @@ -17,7 +17,7 @@ use CodeIgniter\Test\CIUnitTestCase; use CodeIgniter\Test\DatabaseTestTrait; use PHPUnit\Framework\Attributes\Group; -use stdclass; +use stdClass; use Tests\Support\Database\Seeds\CITestSeeder; /** @@ -61,12 +61,12 @@ public function testRawSqlUpdateObject(): void { $data = []; - $row = new stdclass(); + $row = new stdClass(); $row->email = 'derek@world.com'; $row->created_at = new RawSql("setDateTime('2022-01-01')"); $data[] = $row; - $row = new stdclass(); + $row = new stdClass(); $row->email = 'ahmadinejad@world.com'; $row->created_at = new RawSql("setDateTime('2022-01-01')"); $data[] = $row; @@ -85,12 +85,12 @@ public function testRawSqlSetUpdateObject(): void { $data = []; - $row = new stdclass(); + $row = new stdClass(); $row->email = 'derek@world.com'; $row->created_at = new RawSql("setDateTime('2022-02-01')"); $data[] = $row; - $row = new stdclass(); + $row = new stdClass(); $row->email = 'ahmadinejad@world.com'; $row->created_at = new RawSql("setDateTime('2022-02-01')"); $data[] = $row; @@ -147,12 +147,12 @@ public function testRawSqlInsertObject(): void { $data = []; - $row = new stdclass(); + $row = new stdClass(); $row->email = 'tony@world.com'; $row->created_at = new RawSql("setDateTime('2022-05-01')"); $data[] = $row; - $row = new stdclass(); + $row = new stdClass(); $row->email = 'sara@world.com'; $row->created_at = new RawSql("setDateTime('2022-05-01')"); $data[] = $row; @@ -173,12 +173,12 @@ public function testRawSqlSetInsertObject(): void { $data = []; - $row = new stdclass(); + $row = new stdClass(); $row->email = 'laura@world.com'; $row->created_at = new RawSql("setDateTime('2022-06-01')"); $data[] = $row; - $row = new stdclass(); + $row = new stdClass(); $row->email = 'travis@world.com'; $row->created_at = new RawSql("setDateTime('2022-06-01')"); $data[] = $row; diff --git a/tests/system/Database/Live/OCI8/CallStoredProcedureTest.php b/tests/system/Database/Live/OCI8/CallStoredProcedureTest.php index 2baffb669957..43816b7301b3 100644 --- a/tests/system/Database/Live/OCI8/CallStoredProcedureTest.php +++ b/tests/system/Database/Live/OCI8/CallStoredProcedureTest.php @@ -55,7 +55,7 @@ public function testCallPackageProcedure(): void ], ]); - $this->assertSame($result, '7'); + $this->assertSame('7', $result); } public function testCallStoredProcedure(): void @@ -77,7 +77,7 @@ public function testCallStoredProcedure(): void ], ]); - $this->assertSame($result, '7'); + $this->assertSame('7', $result); } public function testCallStoredProcedureForCursor(): void diff --git a/tests/system/Database/Live/OCI8/GetFieldDataTestCase.php b/tests/system/Database/Live/OCI8/GetFieldDataTestCase.php index a45c893dc3f9..2ff1f103fb33 100644 --- a/tests/system/Database/Live/OCI8/GetFieldDataTestCase.php +++ b/tests/system/Database/Live/OCI8/GetFieldDataTestCase.php @@ -58,7 +58,7 @@ public function testGetFieldDataDefault(): void $fields = $this->db->getFieldData($this->table); $idDefault = $this->getFieldMetaData('id', $this->table)->default; - $this->assertMatchesRegularExpression('/"ORACLE"."ISEQ\$\$_[0-9]+".nextval/', $idDefault); + $this->assertMatchesRegularExpression('/"ORACLE"."ISEQ\$\$_\d+".nextval/', $idDefault); $expected = [ (object) [ diff --git a/tests/system/Database/Live/OCI8/LastInsertIDTest.php b/tests/system/Database/Live/OCI8/LastInsertIDTest.php index 5cc88e39510b..33945cf7d276 100644 --- a/tests/system/Database/Live/OCI8/LastInsertIDTest.php +++ b/tests/system/Database/Live/OCI8/LastInsertIDTest.php @@ -49,7 +49,7 @@ public function testGetInsertIDWithInsert(): void $this->db->table('job')->insert($jobData); $actual = $this->db->insertID(); - $this->assertSame($actual, 5); + $this->assertSame(5, $actual); } public function testGetInsertIDWithQuery(): void @@ -57,7 +57,7 @@ public function testGetInsertIDWithQuery(): void $this->db->query('INSERT INTO "db_job" ("name", "description") VALUES (?, ?)', ['Grocery Sales', 'Discount!']); $actual = $this->db->insertID(); - $this->assertSame($actual, 5); + $this->assertSame(5, $actual); } public function testGetInsertIDWithHasCommentQuery(): void @@ -73,7 +73,7 @@ public function testGetInsertIDWithHasCommentQuery(): void $this->db->query($sql, ['Discount!']); $actual = $this->db->insertID(); - $this->assertSame($actual, 5); + $this->assertSame(5, $actual); } public function testGetInsertIDWithPreparedQuery(): void @@ -87,6 +87,6 @@ public function testGetInsertIDWithPreparedQuery(): void $query->execute('foo', 'bar'); $actual = $this->db->insertID(); - $this->assertSame($actual, 5); + $this->assertSame(5, $actual); } } diff --git a/tests/system/Database/Live/Postgre/GetFieldDataTestCase.php b/tests/system/Database/Live/Postgre/GetFieldDataTestCase.php index 42e823397926..0adfc036c4c3 100644 --- a/tests/system/Database/Live/Postgre/GetFieldDataTestCase.php +++ b/tests/system/Database/Live/Postgre/GetFieldDataTestCase.php @@ -212,6 +212,13 @@ public function testGetFieldDataType(): void 'default' => null, ], 15 => (object) [ + 'name' => 'type_blob', + 'type' => 'bytea', + 'max_length' => null, + 'nullable' => true, + 'default' => null, + ], + 16 => (object) [ 'name' => 'type_boolean', 'type' => 'boolean', 'max_length' => null, diff --git a/tests/system/Database/Live/PreparedQueryTest.php b/tests/system/Database/Live/PreparedQueryTest.php index fd3b6cedb403..80e0addbca82 100644 --- a/tests/system/Database/Live/PreparedQueryTest.php +++ b/tests/system/Database/Live/PreparedQueryTest.php @@ -269,4 +269,39 @@ public function testDeallocatePreparedQueryThenTryToClose(): void $this->query->close(); } + + public function testInsertBinaryData(): void + { + $params = []; + if ($this->db->DBDriver === 'SQLSRV') { + $params = [0 => SQLSRV_PHPTYPE_STREAM(SQLSRV_ENC_BINARY)]; + } + + $this->query = $this->db->prepare(static fn ($db) => $db->table('type_test')->insert([ + 'type_blob' => 'binary', + ]), $params); + + $fileContent = file_get_contents(TESTPATH . '_support/Images/EXIFsamples/landscape_0.jpg'); + $this->assertTrue($this->query->execute($fileContent)); + + $id = $this->db->DBDriver === 'SQLSRV' + // It seems like INSERT for a prepared statement is run in the + // separate execution context even though it's part of the same session + ? (int) ($this->db->query('SELECT @@IDENTITY AS insert_id')->getRow()->insert_id ?? 0) + : $this->db->insertID(); + $builder = $this->db->table('type_test'); + + if ($this->db->DBDriver === 'Postgre') { + $file = $builder->select("ENCODE(type_blob, 'base64') AS type_blob")->where('id', $id)->get()->getRow(); + $file = base64_decode($file->type_blob, true); + } elseif ($this->db->DBDriver === 'OCI8') { + $file = $builder->select('type_blob')->where('id', $id)->get()->getRow(); + $file = $file->type_blob->load(); + } else { + $file = $builder->select('type_blob')->where('id', $id)->get()->getRow(); + $file = $file->type_blob; + } + + $this->assertSame(strlen($fileContent), strlen($file)); + } } diff --git a/tests/system/Database/Live/SQLSRV/GetFieldDataTestCase.php b/tests/system/Database/Live/SQLSRV/GetFieldDataTestCase.php index bf00175c4fab..47aa8d108972 100644 --- a/tests/system/Database/Live/SQLSRV/GetFieldDataTestCase.php +++ b/tests/system/Database/Live/SQLSRV/GetFieldDataTestCase.php @@ -219,6 +219,13 @@ public function testGetFieldDataType(): void 'default' => null, ], 16 => (object) [ + 'name' => 'type_blob', + 'type' => 'varbinary', + 'max_length' => 'max', + 'nullable' => true, + 'default' => null, + ], + 17 => (object) [ 'name' => 'type_boolean', 'type' => 'bit', 'max_length' => null, diff --git a/tests/system/Database/Live/UpdateTest.php b/tests/system/Database/Live/UpdateTest.php index 8af549fc638e..565c8f83b909 100644 --- a/tests/system/Database/Live/UpdateTest.php +++ b/tests/system/Database/Live/UpdateTest.php @@ -466,7 +466,7 @@ public function testUpdateBatchConstraintsRawSqlAndAlias(): void public function testUpdateBatchUpdateFieldsAndAlias(): void { - if ($this->db->DBDriver === 'SQLite3' && ! (version_compare($this->db->getVersion(), '3.33.0') >= 0)) { + if ($this->db->DBDriver === 'SQLite3' && version_compare($this->db->getVersion(), '3.33.0') < 0) { $this->markTestSkipped('Only SQLite 3.33 and newer can complete this test.'); } @@ -557,7 +557,7 @@ public function testUpdateBatchUpdateFieldsAndAlias(): void public function testUpdateBatchWithoutOnConstraint(): void { - if ($this->db->DBDriver === 'SQLite3' && ! (version_compare($this->db->getVersion(), '3.33.0') >= 0)) { + if ($this->db->DBDriver === 'SQLite3' && version_compare($this->db->getVersion(), '3.33.0') < 0) { $this->markTestSkipped('Only SQLite 3.33 and newer can complete this test.'); } @@ -599,7 +599,7 @@ public function testUpdateBatchWithoutOnConstraint(): void public function testRawSqlConstraint(): void { - if ($this->db->DBDriver === 'SQLite3' && ! (version_compare($this->db->getVersion(), '3.33.0') >= 0)) { + if ($this->db->DBDriver === 'SQLite3' && version_compare($this->db->getVersion(), '3.33.0') < 0) { $this->markTestSkipped('Only SQLite 3.33 and newer can complete this test.'); } @@ -623,7 +623,7 @@ public function testRawSqlConstraint(): void public function testRawSqlConstraintWithKey(): void { - if ($this->db->DBDriver === 'SQLite3' && ! (version_compare($this->db->getVersion(), '3.33.0') >= 0)) { + if ($this->db->DBDriver === 'SQLite3' && version_compare($this->db->getVersion(), '3.33.0') < 0) { $this->markTestSkipped('Only SQLite 3.33 and newer can complete this test.'); } @@ -710,7 +710,7 @@ public function testUpdateBatchWithQuery(): void ]; $this->db->table('user2')->insertBatch($data); - if ($this->db->DBDriver === 'SQLite3' && ! (version_compare($this->db->getVersion(), '3.33.0') >= 0)) { + if ($this->db->DBDriver === 'SQLite3' && version_compare($this->db->getVersion(), '3.33.0') < 0) { $this->markTestSkipped('Only SQLite 3.33 and newer can complete this test.'); } diff --git a/tests/system/Database/Live/UpsertTest.php b/tests/system/Database/Live/UpsertTest.php index 94732e694d50..a702ff5e1b8d 100644 --- a/tests/system/Database/Live/UpsertTest.php +++ b/tests/system/Database/Live/UpsertTest.php @@ -20,7 +20,7 @@ use CodeIgniter\Test\DatabaseTestTrait; use Config\Database; use PHPUnit\Framework\Attributes\Group; -use stdclass; +use stdClass; use Tests\Support\Database\Seeds\CITestSeeder; /** @@ -107,21 +107,21 @@ public function testUpsertAndUpsertBatchWithObject(): void $data = []; // new row insert - $row = new stdclass(); + $row = new stdClass(); $row->name = 'Pedro'; $row->email = 'pedro@acme.com'; $row->country = 'El Salvador'; $data[] = $row; // no change - $row = new stdclass(); + $row = new stdClass(); $row->name = 'Ahmadinejad'; $row->email = 'ahmadinejad@world.com'; $row->country = 'Iran'; $data[] = $row; // changed country for update - $row = new stdclass(); + $row = new stdClass(); $row->name = 'Derek Jones'; $row->email = 'derek@world.com'; $row->country = 'Canada'; @@ -190,7 +190,7 @@ public function testUpsertChangePrimaryKeyOnUniqueIndex(): void ->upsert($userData); $new = $this->db->table('user') - ->getwhere(['email' => 'ahmadinejad@world.com']) + ->getWhere(['email' => 'ahmadinejad@world.com']) ->getRow(); $this->assertSame(5, (int) $new->id); @@ -460,7 +460,7 @@ public function testUpsertWithMatchingDataOnUniqueIndexandPrimaryKey(): void $this->db->table('user')->upsert($data); $original = $this->db->table('user') - ->getwhere(['id' => 6]) + ->getWhere(['id' => 6]) ->getRow(); $data = [ @@ -474,7 +474,7 @@ public function testUpsertWithMatchingDataOnUniqueIndexandPrimaryKey(): void // get by id $row = $this->db->table('user') - ->getwhere(['id' => 6]) + ->getWhere(['id' => 6]) ->getRow(); $this->assertSame('Random Name 356', $row->name); @@ -508,17 +508,17 @@ public function testUpsertBatchOnPrimaryKey(): void // get by id $row1 = $this->db->table('user') - ->getwhere(['id' => 1]) + ->getWhere(['id' => 1]) ->getRow(); // get by id $row2 = $this->db->table('user') - ->getwhere(['id' => 2]) + ->getWhere(['id' => 2]) ->getRow(); // get by id $row3 = $this->db->table('user') - ->getwhere(['id' => 3]) + ->getWhere(['id' => 3]) ->getRow(); $this->assertSame('Upsert One On Id', $row1->name); @@ -553,17 +553,17 @@ public function testUpsertBatchOnNullAutoIncrement(): void // get by id $row1 = $this->db->table('user') - ->getwhere(['email' => 'nullone@domain.com']) + ->getWhere(['email' => 'nullone@domain.com']) ->getRow(); // get by id $row2 = $this->db->table('user') - ->getwhere(['email' => 'nulltwo@domain.com']) + ->getWhere(['email' => 'nulltwo@domain.com']) ->getRow(); // get by id $row3 = $this->db->table('user') - ->getwhere(['email' => 'nullthree@domain.com']) + ->getWhere(['email' => 'nullthree@domain.com']) ->getRow(); $this->assertSame('Null One', $row1->name); @@ -644,7 +644,7 @@ public function testSetBatchOneRow(): void $builder->setData($moreData); } - $evenMoreData = new stdclass(); + $evenMoreData = new stdClass(); $evenMoreData->name = 'New User2 users'; $evenMoreData->email = 'newuser2@example.com'; $evenMoreData->country = 'Netherlands'; diff --git a/tests/system/Database/Migrations/MigrationRunnerTest.php b/tests/system/Database/Migrations/MigrationRunnerTest.php index 547eec670ce4..0ecd2ca0b051 100644 --- a/tests/system/Database/Migrations/MigrationRunnerTest.php +++ b/tests/system/Database/Migrations/MigrationRunnerTest.php @@ -21,7 +21,6 @@ use CodeIgniter\Test\DatabaseTestTrait; use Config\Database; use Config\Migrations; -use Config\Services; use org\bovigo\vfs\vfsStream; use org\bovigo\vfs\vfsStreamDirectory; use PHPUnit\Framework\Attributes\Group; @@ -60,7 +59,7 @@ protected function setUp(): void protected function setUpAddNamespace(): void { - Services::autoloader()->addNamespace( + service('autoloader')->addNamespace( 'Tests\Support\MigrationTestMigrations', SUPPORTPATH . 'MigrationTestMigrations' ); diff --git a/tests/system/Database/RawSqlTest.php b/tests/system/Database/RawSqlTest.php index 340e85c0ffba..fe26130cd0ee 100644 --- a/tests/system/Database/RawSqlTest.php +++ b/tests/system/Database/RawSqlTest.php @@ -49,6 +49,6 @@ public function testGetBindingKey(): void $key = $rawSql->getBindingKey(); - $this->assertMatchesRegularExpression('/\ARawSql[0-9]+\z/', $key); + $this->assertMatchesRegularExpression('/\ARawSql\d+\z/', $key); } } diff --git a/tests/system/Debug/ExceptionHandlerTest.php b/tests/system/Debug/ExceptionHandlerTest.php index 85eaed74621b..ddb1304c3d7e 100644 --- a/tests/system/Debug/ExceptionHandlerTest.php +++ b/tests/system/Debug/ExceptionHandlerTest.php @@ -107,8 +107,8 @@ public function testHandleWebPageNotFoundExceptionDoNotAcceptHTML(): void { $exception = PageNotFoundException::forControllerNotFound('Foo', 'bar'); - $request = Services::incomingrequest(null, false); - $response = Services::response(null, false); + $request = service('incomingrequest', null, false); + $response = service('response', null, false); $response->pretend(); ob_start(); @@ -126,9 +126,9 @@ public function testHandleWebPageNotFoundExceptionAcceptHTML(): void { $exception = PageNotFoundException::forControllerNotFound('Foo', 'bar'); - $request = Services::incomingrequest(null, false); + $request = service('incomingrequest', null, false); $request->setHeader('accept', 'text/html'); - $response = Services::response(null, false); + $response = service('response', null, false); $response->pretend(); ob_start(); @@ -144,7 +144,7 @@ public function testHandleCLIPageNotFoundException(): void $request = Services::clirequest(null, false); $request->setHeader('accept', 'text/html'); - $response = Services::response(null, false); + $response = service('response', null, false); $response->pretend(); $this->handler->handle($exception, $request, $response, 404, EXIT_ERROR); diff --git a/tests/system/Debug/ExceptionsTest.php b/tests/system/Debug/ExceptionsTest.php index aa3c2d8b49a6..b8279fb8e190 100644 --- a/tests/system/Debug/ExceptionsTest.php +++ b/tests/system/Debug/ExceptionsTest.php @@ -66,13 +66,9 @@ public function testDeprecationsOnPhp81DoNotThrow(): void $this->exception = new Exceptions($config); $this->exception->initialize(); - // this is only needed for IDEs not to complain that strlen does not accept explicit null - $maybeNull = PHP_VERSION_ID >= 80100 ? null : 'random string'; - try { - // We test DEPRECATED error, so cannot set `declare(strict_types=1)` in this file. - strlen($maybeNull); - $this->assertLogContains('error', '[DEPRECATED] strlen(): '); + $result = str_contains('foobar', null); // @phpstan-ignore argument.type (Needed for testing) + $this->assertLogContains('error', '[DEPRECATED] str_contains(): '); } catch (ErrorException) { $this->fail('The catch block should not be reached.'); } finally { diff --git a/tests/system/Debug/TimerTest.php b/tests/system/Debug/TimerTest.php index eb3cb243b398..09bf0d535bee 100644 --- a/tests/system/Debug/TimerTest.php +++ b/tests/system/Debug/TimerTest.php @@ -144,7 +144,7 @@ public function testRecordFunctionNoReturn(): void public function testRecordFunctionWithReturn(): void { $timer = new Timer(); - $returnValue = $timer->record('longjohn', static function () { + $returnValue = $timer->record('longjohn', static function (): string { usleep(100000); return 'test'; diff --git a/tests/system/Email/EmailTest.php b/tests/system/Email/EmailTest.php index 99918122d8cf..389b657e573a 100644 --- a/tests/system/Email/EmailTest.php +++ b/tests/system/Email/EmailTest.php @@ -44,7 +44,7 @@ public static function provideEmailSendWithClearance(): iterable } /** - * @param mixed $autoClear + * @param bool $autoClear */ #[DataProvider('provideEmailSendWithClearance')] public function testEmailSendWithClearance($autoClear): void diff --git a/tests/system/Events/EventsTest.php b/tests/system/Events/EventsTest.php index e761c7dff958..db975aaa1825 100644 --- a/tests/system/Events/EventsTest.php +++ b/tests/system/Events/EventsTest.php @@ -121,7 +121,7 @@ public function testCancelEvent(): void // This should cancel the flow of events, and leave // $result = 1. - Events::on('foo', static function ($arg) use (&$result) { + Events::on('foo', static function ($arg) use (&$result): bool { $result = 1; return false; @@ -138,14 +138,14 @@ public function testPriority(): void { $result = 0; - Events::on('foo', static function () use (&$result) { + Events::on('foo', static function () use (&$result): bool { $result = 1; return false; }, EVENT_PRIORITY_NORMAL); // Since this has a higher priority, it will // run first. - Events::on('foo', static function () use (&$result) { + Events::on('foo', static function () use (&$result): bool { $result = 2; return false; diff --git a/tests/system/Files/FileCollectionTest.php b/tests/system/Files/FileCollectionTest.php index 81005356fee3..f1431b36de8c 100644 --- a/tests/system/Files/FileCollectionTest.php +++ b/tests/system/Files/FileCollectionTest.php @@ -577,6 +577,6 @@ public function testIterable(): void $count++; } - $this->assertSame($count, 5); + $this->assertSame(5, $count); } } diff --git a/tests/system/Files/FileWithVfsTest.php b/tests/system/Files/FileWithVfsTest.php index 9a1075ad9a1c..a6c26383d187 100644 --- a/tests/system/Files/FileWithVfsTest.php +++ b/tests/system/Files/FileWithVfsTest.php @@ -26,7 +26,6 @@ final class FileWithVfsTest extends CIUnitTestCase { // For VFS stuff private ?vfsStreamDirectory $root = null; - private string $path; private string $start; private File $file; @@ -35,8 +34,8 @@ protected function setUp(): void parent::setUp(); $this->root = vfsStream::setup(); - $this->path = '_support/Files/'; - vfsStream::copyFromFileSystem(TESTPATH . $this->path, $this->root); + $path = '_support/Files/'; + vfsStream::copyFromFileSystem(TESTPATH . $path, $this->root); $this->start = $this->root->url() . '/'; $this->file = new File($this->start . 'able/apple.php'); } diff --git a/tests/system/Filters/CSRFTest.php b/tests/system/Filters/CSRFTest.php index c0d85b02150d..d1977e4f5cea 100644 --- a/tests/system/Filters/CSRFTest.php +++ b/tests/system/Filters/CSRFTest.php @@ -51,7 +51,7 @@ public function testDoNotCheckCliRequest(): void ]; $this->request = Services::clirequest(null, false); - $this->response = Services::response(); + $this->response = service('response'); $filters = new Filters($this->config, $this->request, $this->response); $uri = 'admin/foo/bar'; @@ -68,8 +68,8 @@ public function testPassGetRequest(): void 'after' => [], ]; - $this->request = Services::incomingrequest(null, false); - $this->response = Services::response(); + $this->request = service('incomingrequest', null, false); + $this->response = service('response'); $filters = new Filters($this->config, $this->request, $this->response); $uri = 'admin/foo/bar'; diff --git a/tests/system/Filters/CorsTest.php b/tests/system/Filters/CorsTest.php index 78023ddfdadc..bbbbefc0b413 100644 --- a/tests/system/Filters/CorsTest.php +++ b/tests/system/Filters/CorsTest.php @@ -22,7 +22,6 @@ use CodeIgniter\HTTP\UserAgent; use CodeIgniter\Test\CIUnitTestCase; use CodeIgniter\Test\Mock\MockAppConfig; -use Config\Services; use PHPUnit\Framework\Attributes\Group; /** @@ -145,10 +144,10 @@ private function handle(RequestInterface $request): ResponseInterface return $response; } - $response ??= Services::response(); + $response ??= service('response'); $response = $this->cors->after($request, $response); - $response ??= Services::response(); + $response ??= service('response'); $this->response = $response; diff --git a/tests/system/Filters/DebugToolbarTest.php b/tests/system/Filters/DebugToolbarTest.php index 6cb716ee9556..0826a04afca8 100644 --- a/tests/system/Filters/DebugToolbarTest.php +++ b/tests/system/Filters/DebugToolbarTest.php @@ -13,9 +13,9 @@ namespace CodeIgniter\Filters; -use CodeIgniter\Config\Services; use CodeIgniter\HTTP\CLIRequest; use CodeIgniter\HTTP\IncomingRequest; +use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\Response; use CodeIgniter\Test\CIUnitTestCase; use Config\Filters as FilterConfig; @@ -32,7 +32,7 @@ final class DebugToolbarTest extends CIUnitTestCase /** * @var CLIRequest|IncomingRequest */ - private $request; + private RequestInterface $request; private Response $response; @@ -40,8 +40,8 @@ protected function setUp(): void { parent::setUp(); - $this->request = Services::request(); - $this->response = Services::response(); + $this->request = service('request'); + $this->response = service('response'); } public function testDebugToolbarFilter(): void diff --git a/tests/system/Filters/FiltersTest.php b/tests/system/Filters/FiltersTest.php index 3a35920989e5..d4a390c113e0 100644 --- a/tests/system/Filters/FiltersTest.php +++ b/tests/system/Filters/FiltersTest.php @@ -13,7 +13,6 @@ namespace CodeIgniter\Filters; -use CodeIgniter\Config\Services; use CodeIgniter\Exceptions\ConfigException; use CodeIgniter\Filters\Exceptions\FilterException; use CodeIgniter\Filters\fixtures\GoogleCurious; @@ -66,16 +65,16 @@ protected function setUp(): void 'App' => APPPATH, 'Tests\Support' => TESTPATH . '_support', ]; - Services::autoloader()->addNamespace($defaults); + service('autoloader')->addNamespace($defaults); $_SERVER = []; - $this->response = Services::response(); + $this->response = service('response'); } private function createFilters(FiltersConfig $config, $request = null): Filters { - $request ??= Services::request(); + $request ??= service('request'); return new Filters($config, $request, $this->response); } diff --git a/tests/system/Filters/HoneypotTest.php b/tests/system/Filters/HoneypotTest.php index 79519709d72c..2d45b35a20b0 100644 --- a/tests/system/Filters/HoneypotTest.php +++ b/tests/system/Filters/HoneypotTest.php @@ -13,10 +13,10 @@ namespace CodeIgniter\Filters; -use CodeIgniter\Config\Services; use CodeIgniter\Honeypot\Exceptions\HoneypotException; use CodeIgniter\HTTP\CLIRequest; use CodeIgniter\HTTP\IncomingRequest; +use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\Response; use CodeIgniter\Test\CIUnitTestCase; use Config\Honeypot; @@ -37,9 +37,9 @@ final class HoneypotTest extends CIUnitTestCase private Honeypot $honey; /** - * @var CLIRequest|IncomingRequest|null + * @var CLIRequest|IncomingRequest */ - private $request; + private RequestInterface $request; private ?Response $response = null; @@ -62,8 +62,8 @@ public function testBeforeTriggered(): void 'after' => [], ]; - $this->request = Services::request(null, false); - $this->response = Services::response(); + $this->request = service('request', null, false); + $this->response = service('response'); $filters = new Filters($this->config, $this->request, $this->response); $uri = 'admin/foo/bar'; @@ -80,8 +80,8 @@ public function testBeforeClean(): void ]; unset($_POST[$this->honey->name]); - $this->request = Services::request(null, false); - $this->response = Services::response(); + $this->request = service('request', null, false); + $this->response = service('response'); $expected = $this->request; @@ -101,8 +101,8 @@ public function testAfter(): void 'after' => ['honeypot'], ]; - $this->request = Services::request(null, false); - $this->response = Services::response(); + $this->request = service('request', null, false); + $this->response = service('response'); $filters = new Filters($this->config, $this->request, $this->response); $uri = 'admin/foo/bar'; @@ -121,8 +121,8 @@ public function testAfterNotApplicable(): void 'after' => ['honeypot'], ]; - $this->request = Services::request(null, false); - $this->response = Services::response(); + $this->request = service('request', null, false); + $this->response = service('response'); $filters = new Filters($this->config, $this->request, $this->response); $uri = 'admin/foo/bar'; diff --git a/tests/system/Filters/SecureHeadersTest.php b/tests/system/Filters/SecureHeadersTest.php index 48ff8bb7d04f..5b446d523647 100644 --- a/tests/system/Filters/SecureHeadersTest.php +++ b/tests/system/Filters/SecureHeadersTest.php @@ -13,7 +13,6 @@ namespace CodeIgniter\Filters; -use CodeIgniter\Config\Services; use CodeIgniter\Test\CIUnitTestCase; use PHPUnit\Framework\Attributes\Group; @@ -26,8 +25,8 @@ final class SecureHeadersTest extends CIUnitTestCase public function testAfter(): void { $filter = new SecureHeaders(); - $request = Services::request(null, false); - $response = Services::response(null, false); + $request = service('request', null, false); + $response = service('response', null, false); $filter->after($request, $response); diff --git a/tests/system/Filters/fixtures/GoogleYou.php b/tests/system/Filters/fixtures/GoogleYou.php index c01c5d534435..7d2913866b30 100644 --- a/tests/system/Filters/fixtures/GoogleYou.php +++ b/tests/system/Filters/fixtures/GoogleYou.php @@ -13,7 +13,6 @@ namespace CodeIgniter\Filters\fixtures; -use CodeIgniter\Config\Services; use CodeIgniter\Filters\FilterInterface; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; @@ -22,7 +21,7 @@ class GoogleYou implements FilterInterface { public function before(RequestInterface $request, $arguments = null) { - $response = Services::response(); + $response = service('response'); $response->setBody('http://google.com'); return $response; diff --git a/tests/system/Format/FormatTest.php b/tests/system/Format/FormatTest.php index 89fab7512368..74252c7b56d8 100644 --- a/tests/system/Format/FormatTest.php +++ b/tests/system/Format/FormatTest.php @@ -42,7 +42,7 @@ public function testFormatConfigType(): void public function testGetFormatter(): void { - $this->assertInstanceof(FormatterInterface::class, $this->format->getFormatter('application/json')); + $this->assertInstanceOf(FormatterInterface::class, $this->format->getFormatter('application/json')); } public function testGetFormatterExpectsExceptionOnUndefinedMime(): void diff --git a/tests/system/HTTP/CURLRequestShareOptionsTest.php b/tests/system/HTTP/CURLRequestShareOptionsTest.php index 38612ad03e05..8f6277cf9501 100644 --- a/tests/system/HTTP/CURLRequestShareOptionsTest.php +++ b/tests/system/HTTP/CURLRequestShareOptionsTest.php @@ -30,7 +30,7 @@ final class CURLRequestShareOptionsTest extends CURLRequestTest { protected function getRequest(array $options = []): MockCURLRequest { - $uri = isset($options['base_uri']) ? new URI($options['base_uri']) : new URI(); + $uri = isset($options['baseURI']) ? new URI($options['baseURI']) : new URI(); $app = new App(); $config = new ConfigCURLRequest(); @@ -43,7 +43,7 @@ protected function getRequest(array $options = []): MockCURLRequest public function testHeaderContentLengthNotSharedBetweenRequests(): void { $options = [ - 'base_uri' => 'http://www.foo.com/api/v1/', + 'baseURI' => 'http://www.foo.com/api/v1/', ]; $request = $this->getRequest($options); @@ -61,8 +61,8 @@ public function testHeaderContentLengthNotSharedBetweenRequests(): void public function testBodyIsResetOnSecondRequest(): void { $request = $this->getRequest([ - 'base_uri' => 'http://www.foo.com/api/v1/', - 'delay' => 100, + 'baseURI' => 'http://www.foo.com/api/v1/', + 'delay' => 100, ]); $request->setBody('name=George'); $request->setOutput('Hi there'); diff --git a/tests/system/HTTP/CURLRequestTest.php b/tests/system/HTTP/CURLRequestTest.php index f14198be2264..7c2d7b17138a 100644 --- a/tests/system/HTTP/CURLRequestTest.php +++ b/tests/system/HTTP/CURLRequestTest.php @@ -47,7 +47,7 @@ protected function setUp(): void */ protected function getRequest(array $options = []): MockCURLRequest { - $uri = isset($options['base_uri']) ? new URI($options['base_uri']) : new URI(); + $uri = isset($options['baseURI']) ? new URI($options['baseURI']) : new URI(); $app = new App(); $config = new ConfigCURLRequest(); @@ -64,7 +64,7 @@ public function testPrepareURLIgnoresAppConfig(): void { config('App')->baseURL = 'http://example.com/fruit/'; - $request = $this->getRequest(['base_uri' => 'http://example.com/v1/']); + $request = $this->getRequest(['baseURI' => 'http://example.com/v1/']); $method = $this->getPrivateMethodInvoker($request, 'prepareURL'); @@ -76,7 +76,7 @@ public function testPrepareURLIgnoresAppConfig(): void */ public function testGetRemembersBaseURI(): void { - $request = $this->getRequest(['base_uri' => 'http://www.foo.com/api/v1/']); + $request = $this->getRequest(['baseURI' => 'http://www.foo.com/api/v1/']); $request->get('products'); @@ -90,7 +90,7 @@ public function testGetRemembersBaseURI(): void */ public function testGetRemembersBaseURIWithHelperMethod(): void { - $request = Services::curlrequest(['base_uri' => 'http://www.foo.com/api/v1/']); + $request = Services::curlrequest(['baseURI' => 'http://www.foo.com/api/v1/']); $uri = $this->getPrivateProperty($request, 'baseURI'); $this->assertSame('www.foo.com', $uri->getHost()); @@ -157,28 +157,17 @@ public function testOptionsSetsCorrectMethod(): void public function testOptionsBaseURIOption(): void { - $options = ['base_uri' => 'http://www.foo.com/api/v1/']; + $options = ['baseURI' => 'http://www.foo.com/api/v1/']; $request = $this->getRequest($options); $this->assertSame('http://www.foo.com/api/v1/', $request->getBaseURI()->__toString()); } - public function testOptionsBaseURIOverride(): void - { - $options = [ - 'base_uri' => 'http://www.foo.com/api/v1/', - 'baseURI' => 'http://bogus/com', - ]; - $request = $this->getRequest($options); - - $this->assertSame('http://bogus/com', $request->getBaseURI()->__toString()); - } - public function testOptionsHeaders(): void { $options = [ - 'base_uri' => 'http://www.foo.com/api/v1/', - 'headers' => ['fruit' => 'apple'], + 'baseURI' => 'http://www.foo.com/api/v1/', + 'headers' => ['fruit' => 'apple'], ]; $request = $this->getRequest(); $this->assertNull($request->header('fruit')); @@ -195,8 +184,8 @@ public function testOptionsHeadersNotUsingPopulate(): void $_SERVER['HTTP_ACCEPT_ENCODING'] = 'gzip, deflate, br'; $options = [ - 'base_uri' => 'http://www.foo.com/api/v1/', - 'headers' => [ + 'baseURI' => 'http://www.foo.com/api/v1/', + 'headers' => [ 'Host' => 'www.foo.com', 'Accept-Encoding' => '', ], @@ -233,7 +222,7 @@ public function testDefaultOptionsAreSharedBetweenRequests(): void public function testHeaderContentLengthNotSharedBetweenRequests(): void { $options = [ - 'base_uri' => 'http://www.foo.com/api/v1/', + 'baseURI' => 'http://www.foo.com/api/v1/', ]; $request = $this->getRequest($options); @@ -253,7 +242,7 @@ public function testHeaderContentLengthNotSharedBetweenClients(): void $_SERVER['HTTP_CONTENT_LENGTH'] = '10'; $options = [ - 'base_uri' => 'http://www.foo.com/api/v1/', + 'baseURI' => 'http://www.foo.com/api/v1/', ]; $request = $this->getRequest($options); $request->post('example', [ @@ -730,8 +719,8 @@ public function testAllowRedirectsArray(): void public function testSendWithQuery(): void { $request = $this->getRequest([ - 'base_uri' => 'http://www.foo.com/api/v1/', - 'query' => [ + 'baseURI' => 'http://www.foo.com/api/v1/', + 'query' => [ 'name' => 'Henry', 'd.t' => 'value', ], @@ -747,8 +736,8 @@ public function testSendWithQuery(): void public function testSendWithDelay(): void { $request = $this->getRequest([ - 'base_uri' => 'http://www.foo.com/api/v1/', - 'delay' => 100, + 'baseURI' => 'http://www.foo.com/api/v1/', + 'delay' => 100, ]); $request->get('products'); @@ -760,8 +749,8 @@ public function testSendWithDelay(): void public function testSendContinued(): void { $request = $this->getRequest([ - 'base_uri' => 'http://www.foo.com/api/v1/', - 'delay' => 100, + 'baseURI' => 'http://www.foo.com/api/v1/', + 'delay' => 100, ]); $request->setOutput("HTTP/1.1 100 Continue\x0d\x0a\x0d\x0aHi there"); @@ -775,8 +764,8 @@ public function testSendContinued(): void public function testSendContinuedWithManyHeaders(): void { $request = $this->getRequest([ - 'base_uri' => 'http://www.foo.com/api/v1/', - 'delay' => 100, + 'baseURI' => 'http://www.foo.com/api/v1/', + 'delay' => 100, ]); $output = "HTTP/1.1 100 Continue @@ -819,8 +808,8 @@ public function testSendContinuedWithManyHeaders(): void public function testSendProxied(): void { $request = $this->getRequest([ - 'base_uri' => 'http://www.foo.com/api/v1/', - 'delay' => 100, + 'baseURI' => 'http://www.foo.com/api/v1/', + 'delay' => 100, ]); $output = "HTTP/1.1 200 Connection established @@ -831,13 +820,28 @@ public function testSendProxied(): void $this->assertSame('Hi there', $response->getBody()); } + public function testSendProxiedWithHTTP10(): void + { + $request = $this->getRequest([ + 'baseURI' => 'http://www.foo.com/api/v1/', + 'delay' => 100, + ]); + + $output = "HTTP/1.0 200 Connection established +Proxy-Agent: Fortinet-Proxy/1.0\x0d\x0a\x0d\x0aHTTP/1.1 200 OK\x0d\x0a\x0d\x0aHi there"; + $request->setOutput($output); + + $response = $request->get('answer'); + $this->assertSame('Hi there', $response->getBody()); + } + /** * See: https://github.com/codeigniter4/CodeIgniter4/issues/7394 */ public function testResponseHeadersWithMultipleRequests(): void { $request = $this->getRequest([ - 'base_uri' => 'http://www.foo.com/api/v1/', + 'baseURI' => 'http://www.foo.com/api/v1/', ]); $output = "HTTP/2.0 200 OK @@ -890,7 +894,7 @@ public function testResponseHeadersWithMultipleRequests(): void public function testResponseHeadersWithMultipleSetCookies(): void { $request = $this->getRequest([ - 'base_uri' => 'https://github.com/', + 'baseURI' => 'https://github.com/', ]); $output = "HTTP/2 200 @@ -922,8 +926,8 @@ public function testResponseHeadersWithMultipleSetCookies(): void public function testSplitResponse(): void { $request = $this->getRequest([ - 'base_uri' => 'http://www.foo.com/api/v1/', - 'delay' => 100, + 'baseURI' => 'http://www.foo.com/api/v1/', + 'delay' => 100, ]); $request->setOutput("Accept: text/html\x0d\x0a\x0d\x0aHi there"); @@ -934,8 +938,8 @@ public function testSplitResponse(): void public function testApplyBody(): void { $request = $this->getRequest([ - 'base_uri' => 'http://www.foo.com/api/v1/', - 'delay' => 100, + 'baseURI' => 'http://www.foo.com/api/v1/', + 'delay' => 100, ]); $request->setBody('name=George'); @@ -949,8 +953,8 @@ public function testApplyBody(): void public function testApplyBodyByOptions(): void { $request = $this->getRequest([ - 'base_uri' => 'http://www.foo.com/api/v1/', - 'delay' => 100, + 'baseURI' => 'http://www.foo.com/api/v1/', + 'delay' => 100, ]); $request->setOutput('Hi there'); @@ -965,8 +969,8 @@ public function testApplyBodyByOptions(): void public function testBodyIsResetOnSecondRequest(): void { $request = $this->getRequest([ - 'base_uri' => 'http://www.foo.com/api/v1/', - 'delay' => 100, + 'baseURI' => 'http://www.foo.com/api/v1/', + 'delay' => 100, ]); $request->setBody('name=George'); $request->setOutput('Hi there'); @@ -980,8 +984,8 @@ public function testBodyIsResetOnSecondRequest(): void public function testResponseHeaders(): void { $request = $this->getRequest([ - 'base_uri' => 'http://www.foo.com/api/v1/', - 'delay' => 100, + 'baseURI' => 'http://www.foo.com/api/v1/', + 'delay' => 100, ]); $request->setOutput("HTTP/2.0 234 Ohoh\x0d\x0aAccept: text/html\x0d\x0a\x0d\x0aHi there"); @@ -994,8 +998,8 @@ public function testResponseHeaders(): void public function testResponseHeadersShortProtocol(): void { $request = $this->getRequest([ - 'base_uri' => 'http://www.foo.com/api/v1/', - 'delay' => 100, + 'baseURI' => 'http://www.foo.com/api/v1/', + 'delay' => 100, ]); $request->setOutput("HTTP/2 235 Ohoh\x0d\x0aAccept: text/html\x0d\x0a\x0d\x0aHi there shortie"); diff --git a/tests/system/HTTP/CorsTest.php b/tests/system/HTTP/CorsTest.php index 9f2a7280bee4..bdb29567df59 100644 --- a/tests/system/HTTP/CorsTest.php +++ b/tests/system/HTTP/CorsTest.php @@ -14,7 +14,6 @@ namespace CodeIgniter\HTTP; use CodeIgniter\Test\CIUnitTestCase; -use Config\Services; use PHPUnit\Framework\Attributes\Group; /** @@ -41,7 +40,7 @@ private function createCors(array $config = []): Cors private function createRequest(): IncomingRequest { - return Services::incomingrequest(null, false); + return service('incomingrequest', null, false); } /** @@ -103,7 +102,7 @@ public function testHandlePreflightRequestSingleAllowedOrigin(): void ->setHeader('Access-Control-Request-Method', 'PUT') ->setHeader('Origin', 'http://localhost:8080'); - $response = Services::response(null, false); + $response = service('response', null, false); $response = $cors->handlePreflightRequest($request, $response); @@ -138,7 +137,7 @@ public function testHandlePreflightRequestMultipleAllowedOriginsAllowed(): void ->setHeader('Access-Control-Request-Method', 'PUT') ->setHeader('Origin', 'https://api.example.com'); - $response = Services::response(null, false); + $response = service('response', null, false); $response = $cors->handlePreflightRequest($request, $response); @@ -175,7 +174,7 @@ public function testHandlePreflightRequestMultipleAllowedOriginsAllowedAlreadyVa ->setHeader('Access-Control-Request-Method', 'PUT') ->setHeader('Origin', 'https://api.example.com'); - $response = Services::response(null, false) + $response = service('response', null, false) ->setHeader('Vary', 'Accept-Language'); $response = $cors->handlePreflightRequest($request, $response); @@ -213,7 +212,7 @@ public function testHandlePreflightRequestMultipleAllowedOriginsNotAllowed(): vo ->setHeader('Access-Control-Request-Method', 'PUT') ->setHeader('Origin', 'https://bad.site.com'); - $response = Services::response(null, false); + $response = service('response', null, false); $response = $cors->handlePreflightRequest($request, $response); @@ -239,7 +238,7 @@ public function testHandlePreflightRequestAllowedOriginsPatternsAllowed(): void ->setHeader('Access-Control-Request-Method', 'PUT') ->setHeader('Origin', 'https://api.example.com'); - $response = Services::response(null, false); + $response = service('response', null, false); $response = $cors->handlePreflightRequest($request, $response); @@ -276,7 +275,7 @@ public function testHandlePreflightRequestAllowedOriginsPatternsNotAllowed(): vo ->setHeader('Access-Control-Request-Method', 'PUT') ->setHeader('Origin', 'https://bad.site.com'); - $response = Services::response(null, false); + $response = service('response', null, false); $response = $cors->handlePreflightRequest($request, $response); @@ -303,7 +302,7 @@ public function testHandlePreflightRequestSingleAllowedOriginWithCredentials(): ->setHeader('Access-Control-Request-Method', 'PUT') ->setHeader('Origin', 'http://localhost:8080'); - $response = Services::response(null, false); + $response = service('response', null, false); $response = $cors->handlePreflightRequest($request, $response); @@ -340,7 +339,7 @@ public function testAddResponseHeadersSingleAllowedOriginSimpleRequest(): void ->withMethod('GET') ->setHeader('Origin', 'http://localhost:8080'); - $response = Services::response(null, false); + $response = service('response', null, false); $response = $cors->addResponseHeaders($request, $response); @@ -371,7 +370,7 @@ public function testAddResponseHeadersSingleAllowedOriginRealRequest(): void ->withMethod('POST') ->setHeader('Origin', 'http://localhost:8080'); - $response = Services::response(null, false); + $response = service('response', null, false); $response = $cors->addResponseHeaders($request, $response); @@ -395,7 +394,7 @@ public function testAddResponseHeadersSingleAllowedOriginWithCredentials(): void ->setHeader('Cookie', 'pageAccess=2') ->setHeader('Origin', 'http://localhost:8080'); - $response = Services::response(null, false); + $response = service('response', null, false); $response = $cors->addResponseHeaders($request, $response); @@ -423,7 +422,7 @@ public function testAddResponseHeadersSingleAllowedOriginWithExposeHeaders(): vo ->withMethod('GET') ->setHeader('Origin', 'http://localhost:8080'); - $response = Services::response(null, false); + $response = service('response', null, false); $response = $cors->addResponseHeaders($request, $response); @@ -449,7 +448,7 @@ public function testAddResponseHeadersMultipleAllowedOriginsAllowed(): void ->withMethod('PUT') ->setHeader('Origin', 'https://api.example.com'); - $response = Services::response(null, false); + $response = service('response', null, false); $response = $cors->addResponseHeaders($request, $response); @@ -481,7 +480,7 @@ public function testAddResponseHeadersMultipleAllowedOriginsAllowedAlreadyVary() ->withMethod('PUT') ->setHeader('Origin', 'https://api.example.com'); - $response = Services::response(null, false) + $response = service('response', null, false) ->setHeader('Vary', 'Accept-Language'); $response = $cors->addResponseHeaders($request, $response); @@ -508,7 +507,7 @@ public function testAddResponseHeadersMultipleAllowedOriginsNotAllowed(): void ->withMethod('PUT') ->setHeader('Origin', 'https://bad.site.com'); - $response = Services::response(null, false); + $response = service('response', null, false); $response = $cors->addResponseHeaders($request, $response); diff --git a/tests/system/HTTP/DownloadResponseTest.php b/tests/system/HTTP/DownloadResponseTest.php index b62996f3d825..5897a1f58750 100644 --- a/tests/system/HTTP/DownloadResponseTest.php +++ b/tests/system/HTTP/DownloadResponseTest.php @@ -148,12 +148,25 @@ public function testNoCache(): void $this->assertSame('private, no-transform, no-store, must-revalidate', $response->getHeaderLine('Cache-control')); } - public function testCantSetCache(): void + public function testSetCache(): void { $response = new DownloadResponse('unit-test.txt', true); - $this->expectException(DownloadException::class); - $response->setCache(); + $date = date('r'); + + $options = [ + 'etag' => '12345678', + 'last-modified' => $date, + 'max-age' => 300, + 'must-revalidate', + ]; + + $response->setCache($options); + $response->buildHeaders(); + + $this->assertSame('12345678', $response->getHeaderLine('ETag')); + $this->assertSame($date, $response->getHeaderLine('Last-Modified')); + $this->assertSame('max-age=300, must-revalidate', $response->getHeaderLine('Cache-Control')); } public function testWhenFilepathIsSetBinaryCanNotBeSet(): void @@ -200,30 +213,53 @@ public function testCanGetContentLength(): void $this->assertSame($size, $response->getContentLength()); } - public function testIsSetDownloadableHeadlersFromBinary(): void + public function testIsSetDownloadableHeadersFromBinary(): void { $response = new DownloadResponse('unit test.txt', false); $response->setBinary('test'); $response->buildHeaders(); + $this->assertSame('private, no-transform, no-store, must-revalidate', $response->getHeaderLine('Cache-Control')); $this->assertSame('application/octet-stream', $response->getHeaderLine('Content-Type')); $this->assertSame('attachment; filename="unit test.txt"; filename*=UTF-8\'\'unit%20test.txt', $response->getHeaderLine('Content-Disposition')); - $this->assertSame('0', $response->getHeaderLine('Expires-Disposition')); $this->assertSame('binary', $response->getHeaderLine('Content-Transfer-Encoding')); $this->assertSame('4', $response->getHeaderLine('Content-Length')); } - public function testIsSetDownloadableHeadlersFromFile(): void + public function testIsSetDownloadableHeadersFromFile(): void + { + $response = new DownloadResponse('unit-test.php', false); + + $response->setFilePath(__FILE__); + $response->buildHeaders(); + + $this->assertSame('private, no-transform, no-store, must-revalidate', $response->getHeaderLine('Cache-Control')); + $this->assertSame('application/octet-stream', $response->getHeaderLine('Content-Type')); + $this->assertSame('attachment; filename="unit-test.php"; filename*=UTF-8\'\'unit-test.php', $response->getHeaderLine('Content-Disposition')); + $this->assertSame('binary', $response->getHeaderLine('Content-Transfer-Encoding')); + $this->assertSame(filesize(__FILE__), (int) $response->getHeaderLine('Content-Length')); + } + + public function testCustomHeaders(): void { $response = new DownloadResponse('unit-test.php', false); $response->setFilePath(__FILE__); + + $response->setHeader('Last-Modified', 'Fri, 18 Oct 2024 13:17:37 GMT'); + $response->setHeader('Expires', 'Sun, 17 Nov 2024 14:17:37 GMT'); + $response->setHeader('Pragma', 'public'); + $response->removeHeader('Cache-Control'); + $response->setHeader('Cache-Control', 'public'); $response->buildHeaders(); + $this->assertSame('Fri, 18 Oct 2024 13:17:37 GMT', $response->getHeaderLine('Last-Modified')); + $this->assertSame('Sun, 17 Nov 2024 14:17:37 GMT', $response->getHeaderLine('Expires')); + $this->assertSame('public', $response->getHeaderLine('Pragma')); + $this->assertSame('public', $response->getHeaderLine('Cache-Control')); $this->assertSame('application/octet-stream', $response->getHeaderLine('Content-Type')); $this->assertSame('attachment; filename="unit-test.php"; filename*=UTF-8\'\'unit-test.php', $response->getHeaderLine('Content-Disposition')); - $this->assertSame('0', $response->getHeaderLine('Expires-Disposition')); $this->assertSame('binary', $response->getHeaderLine('Content-Transfer-Encoding')); $this->assertSame(filesize(__FILE__), (int) $response->getHeaderLine('Content-Length')); } diff --git a/tests/system/HTTP/Files/FileCollectionTest.php b/tests/system/HTTP/Files/FileCollectionTest.php index a0d7bb1de771..3e502f7afec4 100644 --- a/tests/system/HTTP/Files/FileCollectionTest.php +++ b/tests/system/HTTP/Files/FileCollectionTest.php @@ -524,7 +524,7 @@ public function testFileNoExistSingleFile(): void $collection = new FileCollection(); $file = $collection->getFile('fileuser'); - $this->AssertNull($file); + $this->assertNull($file); } public function testFileReturnValidMultipleFiles(): void diff --git a/tests/system/HTTP/Files/FileMovingTest.php b/tests/system/HTTP/Files/FileMovingTest.php index c07116970b5a..9624ecd78a06 100644 --- a/tests/system/HTTP/Files/FileMovingTest.php +++ b/tests/system/HTTP/Files/FileMovingTest.php @@ -26,8 +26,6 @@ final class FileMovingTest extends CIUnitTestCase { private ?vfsStreamDirectory $root; - private string $path; - private string $start; private string $destination; protected function setUp(): void @@ -35,11 +33,11 @@ protected function setUp(): void parent::setUp(); $this->root = vfsStream::setup(); - $this->path = '_support/Files/'; - vfsStream::copyFromFileSystem(TESTPATH . $this->path, $this->root); - $this->start = $this->root->url() . '/'; + $path = '_support/Files/'; + vfsStream::copyFromFileSystem(TESTPATH . $path, $this->root); + $start = $this->root->url() . '/'; - $this->destination = $this->start . 'destination'; + $this->destination = $start . 'destination'; if (is_dir($this->destination)) { rmdir($this->destination); } diff --git a/tests/system/HTTP/RedirectExceptionTest.php b/tests/system/HTTP/RedirectExceptionTest.php index e77c0ea060d3..cd90a9aa148c 100644 --- a/tests/system/HTTP/RedirectExceptionTest.php +++ b/tests/system/HTTP/RedirectExceptionTest.php @@ -46,7 +46,7 @@ protected function tearDown(): void public function testResponse(): void { $response = (new RedirectException( - Services::response() + service('response') ->redirect('redirect') ->setCookie('cookie', 'value') ->setHeader('Redirect-Header', 'value') @@ -65,12 +65,12 @@ public function testResponseWithoutLocation(): void 'The Response object passed to RedirectException does not contain a redirect address.' ); - new RedirectException(Services::response()); + new RedirectException(service('response')); } public function testResponseWithoutStatusCode(): void { - $response = (new RedirectException(Services::response()->setHeader('Location', 'location')))->getResponse(); + $response = (new RedirectException(service('response')->setHeader('Location', 'location')))->getResponse(); $this->assertSame('location', $response->getHeaderLine('location')); $this->assertSame(302, $response->getStatusCode()); @@ -82,7 +82,7 @@ public function testLoggingLocationHeader(): void $uri = 'http://location'; $expected = 'INFO - ' . Time::now()->format('Y-m-d') . ' --> REDIRECTED ROUTE at ' . $uri; - $response = (new RedirectException(Services::response()->redirect($uri)))->getResponse(); + $response = (new RedirectException(service('response')->redirect($uri)))->getResponse(); $logs = TestHandler::getLogs(); @@ -97,7 +97,7 @@ public function testLoggingRefreshHeader(): void $uri = 'http://location'; $expected = 'INFO - ' . Time::now()->format('Y-m-d') . ' --> REDIRECTED ROUTE at ' . $uri; - $response = (new RedirectException(Services::response()->redirect($uri, 'refresh')))->getResponse(); + $response = (new RedirectException(service('response')->redirect($uri, 'refresh')))->getResponse(); $logs = TestHandler::getLogs(); diff --git a/tests/system/HTTP/RedirectResponseTest.php b/tests/system/HTTP/RedirectResponseTest.php index 41ac8139bdc4..1614244d762b 100644 --- a/tests/system/HTTP/RedirectResponseTest.php +++ b/tests/system/HTTP/RedirectResponseTest.php @@ -54,7 +54,7 @@ protected function setUp(): void $this->config = new App(); $this->config->baseURL = 'http://example.com/'; - $this->routes = new RouteCollection(Services::locator(), new Modules(), new Routing()); + $this->routes = new RouteCollection(service('locator'), new Modules(), new Routing()); Services::injectMock('routes', $this->routes); $this->request = new MockIncomingRequest( @@ -237,7 +237,7 @@ public function testWithCookies(): void { $_SESSION = []; - $baseResponse = Services::response(); + $baseResponse = service('response'); $baseResponse->setCookie('foo', 'bar'); $response = new RedirectResponse(new App()); diff --git a/tests/system/HTTP/RequestTest.php b/tests/system/HTTP/RequestTest.php index e2073268d794..6659c6966861 100644 --- a/tests/system/HTTP/RequestTest.php +++ b/tests/system/HTTP/RequestTest.php @@ -196,6 +196,21 @@ public function testFetchGlobalReturnsArrayValues(): void $this->assertCount(2, $result['ANNOUNCEMENTS']); } + public function testFetchGlobalReturnsWithListValues(): void + { + $post = [ + 0 => ['foo' => 0], + 1 => ['bar' => 1], + 2 => ['baz' => 2], + ]; + + $this->request->setGlobal('post', $post); + $result = $this->request->fetchGlobal('post'); + + $this->assertIsList($result); + $this->assertSame($post, $result); + } + public function testFetchGlobalWithArrayTop(): void { $post = [ diff --git a/tests/system/HTTP/ResponseCookieTest.php b/tests/system/HTTP/ResponseCookieTest.php index 9782287fd70a..6fb03d516a9f 100644 --- a/tests/system/HTTP/ResponseCookieTest.php +++ b/tests/system/HTTP/ResponseCookieTest.php @@ -203,7 +203,7 @@ public function testCookieDelete(): void $response->setCookie(['name' => 'bee', 'value' => 'bop', 'expire' => 1000]); $response->deleteCookie('bee'); $cookie = $response->getCookie('bee'); - $this->assertSame($cookie->getExpiresTimestamp(), 0); + $this->assertSame(0, $cookie->getExpiresTimestamp()); // delete cookie with wrong prefix? $config->prefix = 'mine'; @@ -214,7 +214,7 @@ public function testCookieDelete(): void $this->assertFalse($cookie->isExpired(), $cookie->getExpiresTimestamp() . ' should be less than ' . time()); $response->deleteCookie('bee', '', '', 'mine'); $cookie = $response->getCookie('bee'); - $this->assertSame($cookie->getExpiresTimestamp(), 0); + $this->assertSame(0, $cookie->getExpiresTimestamp()); // delete cookie with wrong domain? $config->domain = '.mine.com'; @@ -225,7 +225,7 @@ public function testCookieDelete(): void $this->assertFalse($cookie->isExpired(), $cookie->getExpiresTimestamp() . ' should be less than ' . time()); $response->deleteCookie('bees', '.mine.com', '', ''); $cookie = $response->getCookie('bees'); - $this->assertSame($cookie->getExpiresTimestamp(), 0); + $this->assertSame(0, $cookie->getExpiresTimestamp()); } public function testCookieDefaultSetSameSite(): void diff --git a/tests/system/HTTP/ResponseTest.php b/tests/system/HTTP/ResponseTest.php index bb939741dda1..3137620029bc 100644 --- a/tests/system/HTTP/ResponseTest.php +++ b/tests/system/HTTP/ResponseTest.php @@ -18,7 +18,6 @@ use CodeIgniter\Test\CIUnitTestCase; use CodeIgniter\Test\Mock\MockResponse; use Config\App; -use Config\Services; use DateTime; use DateTimeZone; use PHPUnit\Framework\Attributes\DataProvider; @@ -169,7 +168,7 @@ public function testSetLink(): void $this->resetServices(); $response = new Response($config); - $pager = Services::pager(); + $pager = service('pager'); $pager->store('default', 3, 10, 200); $response->setLink($pager); @@ -390,7 +389,7 @@ public function testJSONWithArray(): void 3, ], ]; - $expected = Services::format()->getFormatter('application/json')->format($body); + $expected = service('format')->getFormatter('application/json')->format($body); $response = new Response(new App()); $response->setJSON($body); @@ -409,7 +408,7 @@ public function testJSONGetFromNormalBody(): void 3, ], ]; - $expected = Services::format()->getFormatter('application/json')->format($body); + $expected = service('format')->getFormatter('application/json')->format($body); $response = new Response(new App()); $response->setBody($body); @@ -427,7 +426,7 @@ public function testXMLWithArray(): void 3, ], ]; - $expected = Services::format()->getFormatter('application/xml')->format($body); + $expected = service('format')->getFormatter('application/xml')->format($body); $response = new Response(new App()); $response->setXML($body); @@ -446,7 +445,7 @@ public function testXMLGetFromNormalBody(): void 3, ], ]; - $expected = Services::format()->getFormatter('application/xml')->format($body); + $expected = service('format')->getFormatter('application/xml')->format($body); $response = new Response(new App()); $response->setBody($body); diff --git a/tests/system/HTTP/URITest.php b/tests/system/HTTP/URITest.php index 8a953ee3cab1..517e2d888973 100644 --- a/tests/system/HTTP/URITest.php +++ b/tests/system/HTTP/URITest.php @@ -1046,7 +1046,7 @@ public function testBasedNoIndex(): void $config->indexPage = ''; Factories::injectMock('config', 'App', $config); - $request = Services::request($config); + $request = service('request', $config); Services::injectMock('request', $request); // going through request @@ -1080,7 +1080,7 @@ public function testBasedWithIndex(): void $config->indexPage = 'index.php'; Factories::injectMock('config', 'App', $config); - $request = Services::request($config); + $request = service('request', $config); Services::injectMock('request', $request); // going through request @@ -1120,7 +1120,7 @@ public function testForceGlobalSecureRequests(): void $config->forceGlobalSecureRequests = true; Factories::injectMock('config', 'App', $config); - $request = Services::request($config); + $request = service('request', $config); Services::injectMock('request', $request); // Detected by request diff --git a/tests/system/Helpers/ArrayHelperTest.php b/tests/system/Helpers/ArrayHelperTest.php index a7ed8ae8ec8a..77079d2a5a2b 100644 --- a/tests/system/Helpers/ArrayHelperTest.php +++ b/tests/system/Helpers/ArrayHelperTest.php @@ -268,7 +268,7 @@ public function testArraySortByMultipleKeysWithObjects(array $data, array $sortC $success = array_sort_by_multiple_keys($data, $sortColumns); $this->assertTrue($success); - $this->assertSame($expected, array_column((array) $data, 'name')); + $this->assertSame($expected, array_column($data, 'name')); } #[DataProvider('provideSortByMultipleKeys')] diff --git a/tests/system/Helpers/CookieHelperTest.php b/tests/system/Helpers/CookieHelperTest.php index 619a21717f86..c6bfba193054 100644 --- a/tests/system/Helpers/CookieHelperTest.php +++ b/tests/system/Helpers/CookieHelperTest.php @@ -33,7 +33,6 @@ #[Group('Others')] final class CookieHelperTest extends CIUnitTestCase { - private IncomingRequest $request; private string $name; private string $value; private int $expire; @@ -50,9 +49,9 @@ protected function setUp(): void $this->expire = 9999; Services::injectMock('response', new MockResponse(new App())); - $this->response = Services::response(); - $this->request = new IncomingRequest(new App(), new SiteURI(new App()), null, new UserAgent()); - Services::injectMock('request', $this->request); + $this->response = service('response'); + $request = new IncomingRequest(new App(), new SiteURI(new App()), null, new UserAgent()); + Services::injectMock('request', $request); helper('cookie'); } diff --git a/tests/system/Helpers/DateHelperTest.php b/tests/system/Helpers/DateHelperTest.php index 173a979e29e3..4e7acf649ae7 100644 --- a/tests/system/Helpers/DateHelperTest.php +++ b/tests/system/Helpers/DateHelperTest.php @@ -34,7 +34,7 @@ public function testNowDefault(): void { Time::setTestNow('June 20, 2022', 'America/Chicago'); - $this->assertSame(now(), 1_655_701_200); + $this->assertSame(1_655_701_200, now()); Time::setTestNow(); } diff --git a/tests/system/Helpers/FilesystemHelperTest.php b/tests/system/Helpers/FilesystemHelperTest.php index ad169cf3b58b..a8ee76d6ab09 100644 --- a/tests/system/Helpers/FilesystemHelperTest.php +++ b/tests/system/Helpers/FilesystemHelperTest.php @@ -25,7 +25,7 @@ final class FilesystemHelperTest extends CIUnitTestCase { /** - * @var array>>|array>|array>|array|array|mixed + * @var array>>|array>|array>|array|array */ private array $structure; diff --git a/tests/system/Helpers/FormHelperTest.php b/tests/system/Helpers/FormHelperTest.php index fc9eb0ab021a..9023fd73ac6f 100644 --- a/tests/system/Helpers/FormHelperTest.php +++ b/tests/system/Helpers/FormHelperTest.php @@ -48,7 +48,7 @@ private function setRequest(): void $uri = new SiteURI($config); Services::injectMock('uri', $uri); - $request = Services::request($config); + $request = service('request', $config); Services::injectMock('request', $request); } @@ -1050,7 +1050,7 @@ public function testValidationErrorsFromSession(): void public function testValidationErrorsFromValidation(): void { - $validation = Services::validation(); + $validation = service('validation'); $validation->setRule('id', 'ID', 'required')->run([]); $this->assertSame(['id' => 'The ID field is required.'], validation_errors()); @@ -1058,7 +1058,7 @@ public function testValidationErrorsFromValidation(): void public function testValidationListErrors(): void { - $validation = Services::validation(); + $validation = service('validation'); $validation->setRule('id', 'ID', 'required')->run([]); $html = validation_list_errors(); @@ -1068,7 +1068,7 @@ public function testValidationListErrors(): void public function testValidationShowError(): void { - $validation = Services::validation(); + $validation = service('validation'); $validation->setRule('id', 'ID', 'required')->run([]); $html = validation_show_error('id'); @@ -1081,7 +1081,7 @@ public function testValidationShowError(): void public function testValidationShowErrorForWildcards(): void { - $validation = Services::validation(); + $validation = service('validation'); $validation->setRule('user.*.name', 'Name', 'required') ->run([ 'user' => [ diff --git a/tests/system/Helpers/TextHelperTest.php b/tests/system/Helpers/TextHelperTest.php index 3ba265f3a1b5..dc5072a59217 100644 --- a/tests/system/Helpers/TextHelperTest.php +++ b/tests/system/Helpers/TextHelperTest.php @@ -345,17 +345,17 @@ public function testWordWrap(): void { $string = 'Here is a simple string of text that will help us demonstrate this function.'; $expected = "Here is a simple string\nof text that will help us\ndemonstrate this\nfunction."; - $this->assertSame(substr_count(word_wrap($string, 25), "\n"), 3); + $this->assertSame(3, substr_count(word_wrap($string, 25), "\n")); $this->assertSame($expected, word_wrap($string, 25)); $string2 = "Here is a\nbroken up sentence\rspanning lines\r\nwoohoo!"; $expected2 = "Here is a\nbroken up sentence\nspanning lines\nwoohoo!"; - $this->assertSame(substr_count(word_wrap($string2, 25), "\n"), 3); + $this->assertSame(3, substr_count(word_wrap($string2, 25), "\n")); $this->assertSame($expected2, word_wrap($string2, 25)); $string3 = "Here is another slightly longer\nbroken up sentence\rspanning lines\r\nwoohoo!"; $expected3 = "Here is another slightly\nlonger\nbroken up sentence\nspanning lines\nwoohoo!"; - $this->assertSame(substr_count(word_wrap($string3, 25), "\n"), 4); + $this->assertSame(4, substr_count(word_wrap($string3, 25), "\n")); $this->assertSame($expected3, word_wrap($string3, 25)); } @@ -363,7 +363,7 @@ public function testWordWrapUnwrap(): void { $string = 'Here is a {unwrap}simple string of text{/unwrap} that will help us demonstrate this function.'; $expected = "Here is a simple string of text\nthat will help us\ndemonstrate this\nfunction."; - $this->assertSame(substr_count(word_wrap($string, 25), "\n"), 3); + $this->assertSame(3, substr_count(word_wrap($string, 25), "\n")); $this->assertSame($expected, word_wrap($string, 25)); } @@ -386,7 +386,7 @@ public function testWordWrapURL(): void public function testDefaultWordWrapCharlim(): void { $string = 'Here is a longer string of text that will help us demonstrate the default charlim of this function.'; - $this->assertSame(strpos(word_wrap($string), "\n"), 73); + $this->assertSame(73, strpos(word_wrap($string), "\n")); } public function testExcerpt(): void diff --git a/tests/system/Helpers/URLHelper/MiscUrlTest.php b/tests/system/Helpers/URLHelper/MiscUrlTest.php index 219b5322dbb5..e12b7873f9e2 100644 --- a/tests/system/Helpers/URLHelper/MiscUrlTest.php +++ b/tests/system/Helpers/URLHelper/MiscUrlTest.php @@ -44,7 +44,7 @@ protected function setUp(): void parent::setUp(); Services::reset(true); - Services::routes()->loadRoutes(); + service('routes')->loadRoutes(); // Set a common base configuration (overriden by individual tests) $this->config = new App(); @@ -523,7 +523,7 @@ public static function provideAutoLinkUrl(): iterable ], 'test06' => [ 'This one: ://codeigniter.com must not break this one: http://codeigniter.com', - 'This one: ://codeigniter.com must not break this one: http://codeigniter.com', + 'This one: ://codeigniter.com must not break this one: http://codeigniter.com', ], 'test07' => [ 'Visit example.com or email foo@bar.com', @@ -623,7 +623,7 @@ public static function provideAutolinkBoth(): iterable ], 'test06' => [ 'This one: ://codeigniter.com must not break this one: http://codeigniter.com', - 'This one: ://codeigniter.com must not break this one: http://codeigniter.com', + 'This one: ://codeigniter.com must not break this one: http://codeigniter.com', ], 'test07' => [ 'Visit example.com or email foo@bar.com', @@ -675,7 +675,7 @@ public static function provideAutoLinkPopup(): iterable ], 'test06' => [ 'This one: ://codeigniter.com must not break this one: http://codeigniter.com', - 'This one: ://codeigniter.com must not break this one: http://codeigniter.com', + 'This one: ://codeigniter.com must not break this one: http://codeigniter.com', ], 'test07' => [ 'Visit example.com or email foo@bar.com', @@ -956,7 +956,7 @@ public function testUrlToMissingArgument(): void $this->expectException(InvalidArgumentException::class); $this->expectExceptionMessage('Missing argument for "(:alpha)" in route "(:alpha)/login".'); - $routes = Services::routes(); + $routes = service('routes'); $routes->group('(:alpha)', static function ($routes): void { $routes->match(['GET'], 'login', 'Common\LoginController::loginView', ['as' => 'loginURL']); }); diff --git a/tests/system/Honeypot/HoneypotTest.php b/tests/system/Honeypot/HoneypotTest.php index ee048a1a785c..3878a5d957ff 100644 --- a/tests/system/Honeypot/HoneypotTest.php +++ b/tests/system/Honeypot/HoneypotTest.php @@ -14,11 +14,11 @@ namespace CodeIgniter\Honeypot; use CodeIgniter\Config\Factories; -use CodeIgniter\Config\Services; use CodeIgniter\Filters\Filters; use CodeIgniter\Honeypot\Exceptions\HoneypotException; use CodeIgniter\HTTP\CLIRequest; use CodeIgniter\HTTP\IncomingRequest; +use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\Response; use CodeIgniter\Test\CIUnitTestCase; use Config\App; @@ -39,7 +39,7 @@ final class HoneypotTest extends CIUnitTestCase /** * @var CLIRequest|IncomingRequest */ - private $request; + private RequestInterface $request; private Response $response; @@ -54,8 +54,8 @@ protected function setUp(): void $_SERVER['REQUEST_METHOD'] = 'POST'; $_POST[$this->config->name] = 'hey'; - $this->request = Services::request(null, false); - $this->response = Services::response(); + $this->request = service('request', null, false); + $this->response = service('response'); } public function testAttachHoneypot(): void @@ -99,7 +99,7 @@ public function testAttachHoneypotAndContainerWithCSP(): void $config = new App(); $config->CSPEnabled = true; Factories::injectMock('config', 'App', $config); - $this->response = Services::response($config, false); + $this->response = service('response', $config, false); $this->config = new HoneypotConfig(); $this->honeypot = new Honeypot($this->config); @@ -118,7 +118,7 @@ public function testNotAttachHoneypotWithCSP(): void $config = new App(); $config->CSPEnabled = true; Factories::injectMock('config', 'App', $config); - $this->response = Services::response($config, false); + $this->response = service('response', $config, false); $this->config = new HoneypotConfig(); $this->honeypot = new Honeypot($this->config); @@ -132,7 +132,7 @@ public function testNotAttachHoneypotWithCSP(): void public function testHasntContent(): void { unset($_POST[$this->config->name]); - $this->request = Services::request(); + $this->request = service('request'); $this->assertFalse($this->honeypot->hasContent($this->request)); } diff --git a/tests/system/Images/BaseHandlerTest.php b/tests/system/Images/BaseHandlerTest.php index 7332eba9031f..17bc3c00eb70 100644 --- a/tests/system/Images/BaseHandlerTest.php +++ b/tests/system/Images/BaseHandlerTest.php @@ -19,7 +19,6 @@ use CodeIgniter\Images\Handlers\BaseHandler; use CodeIgniter\Test\CIUnitTestCase; use org\bovigo\vfs\vfsStream; -use org\bovigo\vfs\vfsStreamDirectory; use PHPUnit\Framework\Attributes\Group; /** @@ -35,7 +34,6 @@ #[Group('Others')] final class BaseHandlerTest extends CIUnitTestCase { - private vfsStreamDirectory $root; private string $origin; private string $start; private string $path; @@ -47,10 +45,10 @@ protected function setUp(): void } // create virtual file system - $this->root = vfsStream::setup(); + $root = vfsStream::setup(); // copy our support files $this->origin = SUPPORTPATH . 'Images/'; - vfsStream::copyFromFileSystem($this->origin, $this->root); + vfsStream::copyFromFileSystem($this->origin, $root); // make subfolders $structure = [ 'work' => [], @@ -58,10 +56,10 @@ protected function setUp(): void ]; vfsStream::create($structure); // with one of them read only - $this->root->getChild('wontwork')->chmod(0400); + $root->getChild('wontwork')->chmod(0400); // for VFS tests - $this->start = $this->root->url() . '/'; + $this->start = $root->url() . '/'; $this->path = $this->start . 'ci-logo.png'; } diff --git a/tests/system/Images/ImageTest.php b/tests/system/Images/ImageTest.php index c4411dd7dedb..622a34ad3cc2 100644 --- a/tests/system/Images/ImageTest.php +++ b/tests/system/Images/ImageTest.php @@ -26,7 +26,6 @@ final class ImageTest extends CIUnitTestCase { private vfsStreamDirectory $root; - private string $origin; private string $start; private Image $image; @@ -35,8 +34,8 @@ protected function setUp(): void // create virtual file system $this->root = vfsStream::setup(); // copy our support files - $this->origin = '_support/Images/'; - vfsStream::copyFromFileSystem(TESTPATH . $this->origin, $this->root); + $origin = '_support/Images/'; + vfsStream::copyFromFileSystem(TESTPATH . $origin, $this->root); // make subfolders $structure = [ 'work' => [], diff --git a/tests/system/Language/LanguageTest.php b/tests/system/Language/LanguageTest.php index 8dd3a290b286..cb1cfff267aa 100644 --- a/tests/system/Language/LanguageTest.php +++ b/tests/system/Language/LanguageTest.php @@ -15,7 +15,6 @@ use CodeIgniter\Test\CIUnitTestCase; use CodeIgniter\Test\Mock\MockLanguage; -use Config\Services; use MessageFormatter; use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\Attributes\Group; @@ -296,7 +295,7 @@ public function testLanguageSameKeyAndFileName(): void public function testGetLocale(): void { - $this->lang = Services::language('en', false); + $this->lang = service('language', 'en', false); $this->assertSame('en', $this->lang->getLocale()); } @@ -353,7 +352,7 @@ public function testBundleUniqueKeys($bundle): void public function testBaseFallbacks(): void { - $this->lang = Services::language('en-ZZ', false); + $this->lang = service('language', 'en-ZZ', false); // key is in both base and variant; should pick variant $this->assertSame("It's made of cheese", $this->lang->getLine('More.notaMoon')); @@ -372,7 +371,7 @@ public function testBaseFallbacks(): void */ public function testLangKeepLocale(): void { - $this->lang = Services::language('en', true); + $this->lang = service('language', 'en', true); lang('Language.languageGetLineInvalidArgumentException'); $this->assertSame('en', $this->lang->getLocale()); @@ -399,7 +398,7 @@ public function testLangKeepLocale(): void */ public function testAllTheWayFallbacks(): void { - $this->lang = Services::language('ab-CD', false); + $this->lang = service('language', 'ab-CD', false); $this->assertSame('Allin.none', $this->lang->getLine('Allin.none')); $this->assertSame('Pyramid of Giza', $this->lang->getLine('Allin.one')); $this->assertSame('gluttony', $this->lang->getLine('Allin.two')); diff --git a/tests/system/Log/Handlers/ChromeLoggerHandlerTest.php b/tests/system/Log/Handlers/ChromeLoggerHandlerTest.php index 3dc0b1ccee80..73461c3c96ed 100644 --- a/tests/system/Log/Handlers/ChromeLoggerHandlerTest.php +++ b/tests/system/Log/Handlers/ChromeLoggerHandlerTest.php @@ -56,7 +56,7 @@ public function testSendLogs(): void $logger = new ChromeLoggerHandler($config->handlers['CodeIgniter\Log\Handlers\TestHandler']); $logger->sendLogs(); - $response = Services::response(null, true); + $response = service('response', null, true); $this->assertTrue($response->hasHeader('X-ChromeLogger-Data')); } diff --git a/tests/system/Log/Handlers/FileHandlerTest.php b/tests/system/Log/Handlers/FileHandlerTest.php index 7cf11c1f3cf9..6647a42c8b43 100644 --- a/tests/system/Log/Handlers/FileHandlerTest.php +++ b/tests/system/Log/Handlers/FileHandlerTest.php @@ -17,7 +17,6 @@ use CodeIgniter\Test\Mock\MockFileLogger; use CodeIgniter\Test\Mock\MockLogger as LoggerConfig; use org\bovigo\vfs\vfsStream; -use org\bovigo\vfs\vfsStreamDirectory; use PHPUnit\Framework\Attributes\Group; use Tests\Support\Log\Handlers\TestHandler; @@ -27,14 +26,13 @@ #[Group('Others')] final class FileHandlerTest extends CIUnitTestCase { - private vfsStreamDirectory $root; private string $start; protected function setUp(): void { parent::setUp(); - $this->root = vfsStream::setup('root'); - $this->start = $this->root->url() . '/'; + $root = vfsStream::setup('root'); + $this->start = $root->url() . '/'; } public function testHandle(): void diff --git a/tests/system/Log/LoggerTest.php b/tests/system/Log/LoggerTest.php index 9464d4d286fd..0db30a93070d 100644 --- a/tests/system/Log/LoggerTest.php +++ b/tests/system/Log/LoggerTest.php @@ -20,6 +20,8 @@ use CodeIgniter\Test\Mock\MockLogger as LoggerConfig; use Exception; use PHPUnit\Framework\Attributes\Group; +use ReflectionMethod; +use ReflectionNamedType; use Tests\Support\Log\Handlers\TestHandler; use TypeError; @@ -67,7 +69,10 @@ public function testLogAlwaysReturnsVoid(): void $logger = new Logger($config); - $this->assertNull($logger->log('debug', '')); + $refMethod = new ReflectionMethod($logger, 'log'); + $this->assertTrue($refMethod->hasReturnType()); + $this->assertInstanceOf(ReflectionNamedType::class, $refMethod->getReturnType()); + $this->assertSame('void', $refMethod->getReturnType()->getName()); } public function testLogActuallyLogs(): void diff --git a/tests/system/Models/EventsModelTest.php b/tests/system/Models/EventsModelTest.php index d697437d3534..4c6b2640723a 100644 --- a/tests/system/Models/EventsModelTest.php +++ b/tests/system/Models/EventsModelTest.php @@ -84,7 +84,7 @@ public function testBeforeFindReturnsData(): void $result = $this->model->find(1); $this->assertTrue($this->model->hasToken('beforeFind')); - $this->assertSame($result, 'foobar'); + $this->assertSame('foobar', $result); } public function testBeforeFindReturnDataPreventsAfterFind(): void diff --git a/tests/system/Models/FindModelTest.php b/tests/system/Models/FindModelTest.php index b15857d4aaaf..43fb96d76b53 100644 --- a/tests/system/Models/FindModelTest.php +++ b/tests/system/Models/FindModelTest.php @@ -180,8 +180,8 @@ public function testFirst(): void } /** - * @param mixed $groupBy - * @param mixed $total + * @param bool $groupBy + * @param int $total */ #[DataProvider('provideFirstAggregate')] public function testFirstAggregate($groupBy, $total): void @@ -215,8 +215,8 @@ public static function provideFirstAggregate(): iterable } /** - * @param mixed $aggregate - * @param mixed $groupBy + * @param bool $aggregate + * @param bool $groupBy */ #[DataProvider('provideAggregateAndGroupBy')] public function testFirstRespectsSoftDeletes($aggregate, $groupBy): void @@ -260,8 +260,8 @@ public function testFirstRespectsSoftDeletes($aggregate, $groupBy): void } /** - * @param mixed $aggregate - * @param mixed $groupBy + * @param bool $aggregate + * @param bool $groupBy */ #[DataProvider('provideAggregateAndGroupBy')] public function testFirstRecoverTempUseSoftDeletes($aggregate, $groupBy): void diff --git a/tests/system/Models/SaveModelTest.php b/tests/system/Models/SaveModelTest.php index 29f2959878e4..193624f06857 100644 --- a/tests/system/Models/SaveModelTest.php +++ b/tests/system/Models/SaveModelTest.php @@ -301,7 +301,7 @@ public function testSaveNewEntityWithDate(): void $this->setPrivateProperty($testModel, 'useTimestamps', true); $this->assertTrue($testModel->save($entity)); - $testModel->truncate(); + $testModel->db->table('empty')->truncate(); } public function testInvalidAllowedFieldException(): void @@ -365,4 +365,44 @@ public function testUseAutoIncrementSetToFalseSaveObject(): void $this->assertSame($insert['key'], $this->model->getInsertID()); $this->seeInDatabase('without_auto_increment', $update); } + + /** + * @see https://github.com/codeigniter4/CodeIgniter4/issues/9306 + */ + public function testSaveNewEntityWithMappedPrimaryKey(): void + { + $entity = new class () extends Entity { + protected string $name; + protected $attributes = [ + 'id' => null, + 'name' => null, + ]; + protected $original = [ + 'id' => null, + 'name' => null, + ]; + protected $datamap = [ + 'new_kid_in_the_block' => 'id', + ]; + }; + + $testModel = new class () extends Model { + protected $table = 'empty'; + protected $allowedFields = [ + 'name', + ]; + protected $returnType = 'object'; + }; + + $entity->name = 'New'; + $this->assertTrue($testModel->save($entity)); + $this->seeInDatabase('empty', ['id' => 1, 'name' => 'New']); + + $entity->new_kid_in_the_block = 1; + $entity->name = 'Updated'; + $this->assertTrue($testModel->save($entity)); + + $this->seeInDatabase('empty', ['id' => 1, 'name' => 'Updated']); + $testModel->db->table('empty')->truncate(); + } } diff --git a/tests/system/Models/ValidationModelRuleGroupTest.php b/tests/system/Models/ValidationModelRuleGroupTest.php index 4274d5d1578f..34e51bcf07bc 100644 --- a/tests/system/Models/ValidationModelRuleGroupTest.php +++ b/tests/system/Models/ValidationModelRuleGroupTest.php @@ -15,7 +15,6 @@ use CodeIgniter\Database\BaseConnection; use CodeIgniter\Model; -use Config\Services; use PHPUnit\Framework\Attributes\Group; use stdClass; use Tests\Support\Config\Validation; @@ -40,7 +39,7 @@ protected function setUp(): void protected function createModel(string $modelName, ?BaseConnection $db = null): Model { $config = new Validation(); - $validation = new \CodeIgniter\Validation\Validation($config, Services::renderer()); + $validation = new \CodeIgniter\Validation\Validation($config, service('renderer')); $this->db = $db ?? $this->db; $this->model = new $modelName($this->db, $validation); @@ -398,8 +397,8 @@ public function testUpdateEntityWithPropertyCleanValidationRulesTrueAndCallingCl $errors = $model->errors(); $this->assertCount(1, $errors); $this->assertSame( - $errors['field1'], - 'The field1 field is required when field2,field3,field4 is present.' + 'The field1 field is required when field2,field3,field4 is present.', + $errors['field1'] ); } @@ -438,8 +437,8 @@ public function testUpdateEntityWithPropertyCleanValidationRulesFalse(): void $errors = $model->errors(); $this->assertCount(1, $errors); $this->assertSame( - $errors['field1'], - 'The field1 field is required when field2,field3,field4 is present.' + 'The field1 field is required when field2,field3,field4 is present.', + $errors['field1'] ); } @@ -471,8 +470,8 @@ public function testInsertEntityValidateEntireRules(): void $errors = $model->errors(); $this->assertCount(1, $errors); $this->assertSame( - $errors['field2'], - 'The field2 field is required.' + 'The field2 field is required.', + $errors['field2'] ); } } diff --git a/tests/system/Models/ValidationModelTest.php b/tests/system/Models/ValidationModelTest.php index d2c9c7d0dab8..ca41e29e78ad 100644 --- a/tests/system/Models/ValidationModelTest.php +++ b/tests/system/Models/ValidationModelTest.php @@ -410,8 +410,8 @@ public function testUpdateEntityWithPropertyCleanValidationRulesTrueAndCallingCl $errors = $model->errors(); $this->assertCount(1, $errors); $this->assertSame( - $errors['field1'], - 'The field1 field is required when field2,field3,field4 is present.' + 'The field1 field is required when field2,field3,field4 is present.', + $errors['field1'] ); } @@ -450,8 +450,8 @@ public function testUpdateEntityWithPropertyCleanValidationRulesFalse(): void $errors = $model->errors(); $this->assertCount(1, $errors); $this->assertSame( - $errors['field1'], - 'The field1 field is required when field2,field3,field4 is present.' + 'The field1 field is required when field2,field3,field4 is present.', + $errors['field1'] ); } @@ -483,8 +483,8 @@ public function testInsertEntityValidateEntireRules(): void $errors = $model->errors(); $this->assertCount(1, $errors); $this->assertSame( - $errors['field2'], - 'The field2 field is required.' + 'The field2 field is required.', + $errors['field2'] ); } } diff --git a/tests/system/Pager/PagerTest.php b/tests/system/Pager/PagerTest.php index 047637a2025f..13d0d846f07c 100644 --- a/tests/system/Pager/PagerTest.php +++ b/tests/system/Pager/PagerTest.php @@ -64,7 +64,7 @@ private function createPager(string $requestUri): void Services::injectMock('request', $request); $this->config = new PagerConfig(); - $this->pager = new Pager($this->config, Services::renderer()); + $this->pager = new Pager($this->config, service('renderer')); } public function testSetPathRemembersPath(): void @@ -123,9 +123,9 @@ public function testStoreDoesBasicCalcs(): void $details = $this->pager->getDetails('foo'); - $this->assertSame($details['total'], 100); - $this->assertSame($details['perPage'], 25); - $this->assertSame($details['currentPage'], 3); + $this->assertSame(100, $details['total']); + $this->assertSame(25, $details['perPage']); + $this->assertSame(3, $details['currentPage']); } public function testStoreDoesBasicCalcsOnPerPageReadFromPagerConfig(): void @@ -134,9 +134,9 @@ public function testStoreDoesBasicCalcsOnPerPageReadFromPagerConfig(): void $details = $this->pager->getDetails('foo'); - $this->assertSame($details['total'], 100); - $this->assertSame($details['perPage'], 20); - $this->assertSame($details['currentPage'], 3); + $this->assertSame(100, $details['total']); + $this->assertSame(20, $details['perPage']); + $this->assertSame(3, $details['currentPage']); } public function testStoreAndHasMore(): void @@ -493,7 +493,7 @@ public function testBasedURI(): void Services::injectMock('request', $request); $this->config = new PagerConfig(); - $this->pager = new Pager($this->config, Services::renderer()); + $this->pager = new Pager($this->config, service('renderer')); $_GET['page_foo'] = 2; diff --git a/tests/system/Publisher/PublisherOutputTest.php b/tests/system/Publisher/PublisherOutputTest.php index e03335e86fe6..0b9b744e01fd 100644 --- a/tests/system/Publisher/PublisherOutputTest.php +++ b/tests/system/Publisher/PublisherOutputTest.php @@ -24,11 +24,6 @@ #[Group('Others')] final class PublisherOutputTest extends CIUnitTestCase { - /** - * Files to seed to VFS - */ - private array $structure; - /** * Virtual destination */ @@ -60,7 +55,10 @@ protected function setUp(): void { parent::setUp(); - $this->structure = [ + /** + * Files to seed to VFS + */ + $structure = [ 'able' => [ 'apple.php' => 'Once upon a midnight dreary', 'bazam' => 'While I pondered weak and weary', @@ -74,7 +72,7 @@ protected function setUp(): void '.hidden' => 'There is no spoon', ]; - $this->root = vfsStream::setup('root', null, $this->structure); + $this->root = vfsStream::setup('root', null, $structure); // Add root to the list of allowed destinations config('Publisher')->restrictions[$this->root->url()] = '*'; diff --git a/tests/system/RESTful/ResourceControllerTest.php b/tests/system/RESTful/ResourceControllerTest.php index 77ca329248dc..580909cdff76 100644 --- a/tests/system/RESTful/ResourceControllerTest.php +++ b/tests/system/RESTful/ResourceControllerTest.php @@ -69,14 +69,14 @@ private function createCodeigniter(): void $_SERVER['SERVER_PROTOCOL'] = 'HTTP/1.1'; // Inject mock router. - $this->routes = Services::routes(); + $this->routes = service('routes'); $this->routes->resource('work', ['controller' => '\\' . Worker::class]); Services::injectMock('routes', $this->routes); $config = new App(); $this->codeigniter = new MockCodeIgniter($config); - $response = Services::response(); + $response = service('response'); $response->pretend(); } diff --git a/tests/system/RESTful/ResourcePresenterTest.php b/tests/system/RESTful/ResourcePresenterTest.php index e5614adfd1c0..3617e7a18e67 100644 --- a/tests/system/RESTful/ResourcePresenterTest.php +++ b/tests/system/RESTful/ResourcePresenterTest.php @@ -63,7 +63,7 @@ private function createCodeigniter(): void $_SERVER['SERVER_PROTOCOL'] = 'HTTP/1.1'; // Inject mock router. - $this->routes = Services::routes(); + $this->routes = service('routes'); $this->routes->presenter('work', ['controller' => '\\' . Worker2::class]); Services::injectMock('routes', $this->routes); diff --git a/tests/system/Router/AutoRouterImprovedTest.php b/tests/system/Router/AutoRouterImprovedTest.php index 0f4c75162a2f..56e334dc96d9 100644 --- a/tests/system/Router/AutoRouterImprovedTest.php +++ b/tests/system/Router/AutoRouterImprovedTest.php @@ -14,7 +14,6 @@ namespace CodeIgniter\Router; use CodeIgniter\Config\Factories; -use CodeIgniter\Config\Services; use CodeIgniter\Exceptions\PageNotFoundException; use CodeIgniter\HTTP\Method; use CodeIgniter\Router\Controllers\BlogController; @@ -42,7 +41,7 @@ protected function setUp(): void $moduleConfig = new Modules(); $moduleConfig->enabled = false; - $this->collection = new RouteCollection(Services::locator(), $moduleConfig, new Routing()); + $this->collection = new RouteCollection(service('locator'), $moduleConfig, new Routing()); } private function createNewAutoRouter(string $namespace = 'CodeIgniter\Router\Controllers'): AutoRouterImproved diff --git a/tests/system/Router/DefinedRouteCollectorTest.php b/tests/system/Router/DefinedRouteCollectorTest.php index 7c493c028512..3c1d29abc023 100644 --- a/tests/system/Router/DefinedRouteCollectorTest.php +++ b/tests/system/Router/DefinedRouteCollectorTest.php @@ -13,7 +13,6 @@ namespace CodeIgniter\Router; -use CodeIgniter\Config\Services; use CodeIgniter\HTTP\Method; use CodeIgniter\Test\CIUnitTestCase; use Config\Modules; @@ -34,9 +33,9 @@ private function createRouteCollection(array $config = [], $moduleConfig = null) ]; $config = array_merge($config, $defaults); - Services::autoloader()->addNamespace($config); + service('autoloader')->addNamespace($config); - $loader = Services::locator(); + $loader = service('locator'); if ($moduleConfig === null) { $moduleConfig = new Modules(); diff --git a/tests/system/Router/RouteCollectionReverseRouteTest.php b/tests/system/Router/RouteCollectionReverseRouteTest.php index ebe344293f46..ca70b315f5b6 100644 --- a/tests/system/Router/RouteCollectionReverseRouteTest.php +++ b/tests/system/Router/RouteCollectionReverseRouteTest.php @@ -13,7 +13,6 @@ namespace CodeIgniter\Router; -use CodeIgniter\Config\Services; use CodeIgniter\HTTP\Method; use CodeIgniter\Router\Exceptions\RouterException; use CodeIgniter\Test\CIUnitTestCase; @@ -44,9 +43,9 @@ protected function getCollector(array $config = [], array $files = [], $moduleCo ]; $config = array_merge($config, $defaults); - Services::autoloader()->addNamespace($config); + service('autoloader')->addNamespace($config); - $loader = Services::locator(); + $loader = service('locator'); if ($moduleConfig === null) { $moduleConfig = new Modules(); diff --git a/tests/system/Router/RouteCollectionTest.php b/tests/system/Router/RouteCollectionTest.php index 5c06154a5d31..ddee083b3713 100644 --- a/tests/system/Router/RouteCollectionTest.php +++ b/tests/system/Router/RouteCollectionTest.php @@ -14,8 +14,7 @@ namespace CodeIgniter\Router; use App\Controllers\Product; -use CodeIgniter\Config\Services; -use CodeIgniter\controller; +use CodeIgniter\Controller; use CodeIgniter\Exceptions\PageNotFoundException; use CodeIgniter\HTTP\Method; use CodeIgniter\Test\CIUnitTestCase; @@ -47,9 +46,9 @@ protected function getCollector(array $config = [], array $files = [], $moduleCo ]; $config = array_merge($config, $defaults); - Services::autoloader()->addNamespace($config); + service('autoloader')->addNamespace($config); - $loader = Services::locator(); + $loader = service('locator'); if ($moduleConfig === null) { $moduleConfig = new Modules(); @@ -148,7 +147,7 @@ public function testAddIgnoresDefaultNamespaceWhenExists(): void public function testAddWorksWithCurrentHTTPMethods(): void { - Services::request()->setMethod(Method::GET); + service('request')->setMethod(Method::GET); $routes = $this->getCollector(); @@ -180,7 +179,7 @@ public function testAddWithLeadingSlash(): void public function testMatchIgnoresInvalidHTTPMethods(): void { - Services::request()->setMethod(Method::GET); + service('request')->setMethod(Method::GET); $routes = $this->getCollector(); @@ -193,7 +192,7 @@ public function testMatchIgnoresInvalidHTTPMethods(): void public function testAddWorksWithArrayOFHTTPMethods(): void { - Services::request()->setMethod(Method::POST); + service('request')->setMethod(Method::POST); $routes = $this->getCollector(); @@ -244,10 +243,10 @@ public function testAddRecognizesCustomNamespaces(): void $routes = $this->getCollector(); $routes->setDefaultNamespace('\CodeIgniter'); - $routes->add('home', 'controller'); + $routes->add('home', 'Controller'); $expects = [ - 'home' => '\\' . controller::class, + 'home' => '\\' . Controller::class, ]; $routes = $routes->getRoutes(); @@ -714,7 +713,7 @@ public function testPresenterScaffoldsCorrectly(): void public function testResourcesWithCustomController(): void { - Services::request()->setMethod(Method::GET); + service('request')->setMethod(Method::GET); $routes = $this->getCollector(); $routes->resource('photos', ['controller' => '
' . $this->caption . '