From 843fbac66eb33db6eea0e593266ede219341bcb6 Mon Sep 17 00:00:00 2001 From: Ben Jones Date: Sun, 31 Aug 2025 00:14:22 +0100 Subject: [PATCH 1/9] build: add phpstan --- composer.json | 3 + composer.lock | 243 ++++++++++++++++++++++++++++++++++++++++++++++++- phpstan.neon | 15 +++ tests/Pest.php | 9 -- 4 files changed, 260 insertions(+), 10 deletions(-) create mode 100644 phpstan.neon diff --git a/composer.json b/composer.json index 65072c5a..2b778ffa 100755 --- a/composer.json +++ b/composer.json @@ -39,9 +39,12 @@ "barryvdh/laravel-ide-helper": "^3.6", "fakerphp/faker": "^1.9.1", "filp/whoops": "^2.0", + "larastan/larastan": "^3.0", "mockery/mockery": "^1.4.2", "pestphp/pest": "^4.0", "pestphp/pest-plugin-laravel": "^4.0", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-phpunit": "^2.0", "phpunit/php-code-coverage": "^12" }, "autoload": { diff --git a/composer.lock b/composer.lock index af0c854d..27f7da8d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9cbc76c0df809a797a628c042445c2a9", + "content-hash": "820eecff31013f7268242eb91238f292", "packages": [ { "name": "alaouy/youtube", @@ -9540,6 +9540,47 @@ }, "time": "2025-04-30T06:54:44+00:00" }, + { + "name": "iamcal/sql-parser", + "version": "v0.6", + "source": { + "type": "git", + "url": "https://github.com/iamcal/SQLParser.git", + "reference": "947083e2dca211a6f12fb1beb67a01e387de9b62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/iamcal/SQLParser/zipball/947083e2dca211a6f12fb1beb67a01e387de9b62", + "reference": "947083e2dca211a6f12fb1beb67a01e387de9b62", + "shasum": "" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^1.0", + "phpunit/phpunit": "^5|^6|^7|^8|^9" + }, + "type": "library", + "autoload": { + "psr-4": { + "iamcal\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cal Henderson", + "email": "cal@iamcal.com" + } + ], + "description": "MySQL schema parser", + "support": { + "issues": "https://github.com/iamcal/SQLParser/issues", + "source": "https://github.com/iamcal/SQLParser/tree/v0.6" + }, + "time": "2025-03-17T16:59:46+00:00" + }, { "name": "jean85/pretty-package-versions", "version": "2.1.1", @@ -9600,6 +9641,95 @@ }, "time": "2025-03-19T14:43:43+00:00" }, + { + "name": "larastan/larastan", + "version": "v3.6.1", + "source": { + "type": "git", + "url": "https://github.com/larastan/larastan.git", + "reference": "3c223047e374befd1b64959784685d6ecccf66aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/larastan/larastan/zipball/3c223047e374befd1b64959784685d6ecccf66aa", + "reference": "3c223047e374befd1b64959784685d6ecccf66aa", + "shasum": "" + }, + "require": { + "ext-json": "*", + "iamcal/sql-parser": "^0.6.0", + "illuminate/console": "^11.44.2 || ^12.4.1", + "illuminate/container": "^11.44.2 || ^12.4.1", + "illuminate/contracts": "^11.44.2 || ^12.4.1", + "illuminate/database": "^11.44.2 || ^12.4.1", + "illuminate/http": "^11.44.2 || ^12.4.1", + "illuminate/pipeline": "^11.44.2 || ^12.4.1", + "illuminate/support": "^11.44.2 || ^12.4.1", + "php": "^8.2", + "phpstan/phpstan": "^2.1.11" + }, + "require-dev": { + "doctrine/coding-standard": "^13", + "laravel/framework": "^11.44.2 || ^12.7.2", + "mockery/mockery": "^1.6.12", + "nikic/php-parser": "^5.4", + "orchestra/canvas": "^v9.2.2 || ^10.0.1", + "orchestra/testbench-core": "^9.12.0 || ^10.1", + "phpstan/phpstan-deprecation-rules": "^2.0.1", + "phpunit/phpunit": "^10.5.35 || ^11.5.15" + }, + "suggest": { + "orchestra/testbench": "Using Larastan for analysing a package needs Testbench" + }, + "type": "phpstan-extension", + "extra": { + "phpstan": { + "includes": [ + "extension.neon" + ] + }, + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Larastan\\Larastan\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Can Vural", + "email": "can9119@gmail.com" + } + ], + "description": "Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel", + "keywords": [ + "PHPStan", + "code analyse", + "code analysis", + "larastan", + "laravel", + "package", + "php", + "static analysis" + ], + "support": { + "issues": "https://github.com/larastan/larastan/issues", + "source": "https://github.com/larastan/larastan/tree/v3.6.1" + }, + "funding": [ + { + "url": "https://github.com/canvural", + "type": "github" + } + ], + "time": "2025-08-25T07:24:56+00:00" + }, { "name": "mockery/mockery", "version": "1.6.12", @@ -10618,6 +10748,117 @@ }, "time": "2025-07-13T07:04:09+00:00" }, + { + "name": "phpstan/phpstan", + "version": "2.1.22", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan.git", + "reference": "41600c8379eb5aee63e9413fe9e97273e25d57e4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/41600c8379eb5aee63e9413fe9e97273e25d57e4", + "reference": "41600c8379eb5aee63e9413fe9e97273e25d57e4", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], + "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", + "issues": "https://github.com/phpstan/phpstan/issues", + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" + }, + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://github.com/phpstan", + "type": "github" + } + ], + "time": "2025-08-04T19:17:37+00:00" + }, + { + "name": "phpstan/phpstan-phpunit", + "version": "2.0.7", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan-phpunit.git", + "reference": "9a9b161baee88a5f5c58d816943cff354ff233dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/9a9b161baee88a5f5c58d816943cff354ff233dc", + "reference": "9a9b161baee88a5f5c58d816943cff354ff233dc", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "phpstan/phpstan": "^2.1.18" + }, + "conflict": { + "phpunit/phpunit": "<7.0" + }, + "require-dev": { + "nikic/php-parser": "^5", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/phpstan-deprecation-rules": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6" + }, + "type": "phpstan-extension", + "extra": { + "phpstan": { + "includes": [ + "extension.neon", + "rules.neon" + ] + } + }, + "autoload": { + "psr-4": { + "PHPStan\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPUnit extensions and rules for PHPStan", + "support": { + "issues": "https://github.com/phpstan/phpstan-phpunit/issues", + "source": "https://github.com/phpstan/phpstan-phpunit/tree/2.0.7" + }, + "time": "2025-07-13T11:31:46+00:00" + }, { "name": "phpunit/php-code-coverage", "version": "12.3.4", diff --git a/phpstan.neon b/phpstan.neon new file mode 100644 index 00000000..d844722b --- /dev/null +++ b/phpstan.neon @@ -0,0 +1,15 @@ +includes: + - vendor/larastan/larastan/extension.neon + - vendor/phpstan/phpstan-phpunit/extension.neon + - vendor/phpstan/phpstan-phpunit/rules.neon + - vendor/pestphp/pest/extension.neon + +parameters: + level: 8 + paths: + - app/ + - config/ + - database/ + - packages/ + - routes/ + - tests/ diff --git a/tests/Pest.php b/tests/Pest.php index 2c1ff619..5f8c3f36 100644 --- a/tests/Pest.php +++ b/tests/Pest.php @@ -24,10 +24,6 @@ | */ -expect()->extend('toBeOne', function () { - return $this->toBe(1); -}); - /* |-------------------------------------------------------------------------- | Functions @@ -38,8 +34,3 @@ | global functions to help you to reduce the number of lines of code in your test files. | */ - -function something() -{ - // .. -} From 4f6940dc55aea0c76c52c09cb7986f1360a95e64 Mon Sep 17 00:00:00 2001 From: Ben Jones Date: Sun, 31 Aug 2025 00:15:47 +0100 Subject: [PATCH 2/9] ci: add job to run phpstan --- .github/workflows/checks.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index e9824d44..cc30407b 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -19,6 +19,22 @@ jobs: - run: yarn install --frozen-lockfile - run: yarn check:format + phpstan: + name: PHPStan + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 1 + - uses: shivammathur/setup-php@v2 + with: + php-version: 8.4 + tools: composer + - run: composer install --no-interaction --prefer-dist + - run: | + ./vendor/bin/phpstan analyse \ + --memory-limit 1G \ + --error-format github test: name: Tests runs-on: ubuntu-latest From c3306e9c610f2d8cba4aaabc68edfb51c25116a7 Mon Sep 17 00:00:00 2001 From: Ben Jones Date: Sun, 31 Aug 2025 00:18:42 +0100 Subject: [PATCH 3/9] ci: don't persist credentials --- .github/workflows/checks.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index cc30407b..bcfb86fc 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -25,7 +25,7 @@ jobs: steps: - uses: actions/checkout@v4 with: - fetch-depth: 1 + persist-credentials: 'false' - uses: shivammathur/setup-php@v2 with: php-version: 8.4 @@ -45,7 +45,7 @@ jobs: steps: - uses: actions/checkout@v4 with: - fetch-depth: 1 + persist-credentials: 'false' - uses: shivammathur/setup-php@v2 with: php-version: 8.4 From 28e5b60f8fcc791d392413281b15edbbf399b894 Mon Sep 17 00:00:00 2001 From: Ben Jones Date: Sun, 31 Aug 2025 18:29:36 +0100 Subject: [PATCH 4/9] chore: remove unused invalid classes --- .../Presenters/Bootstrap4NavbarPresenter.php | 156 ------------------ .../Bootstrap4NavbarRightPresenter.php | 16 -- 2 files changed, 172 deletions(-) delete mode 100755 packages/WebDevTools/Laravel/Presenters/Bootstrap4NavbarPresenter.php delete mode 100755 packages/WebDevTools/Laravel/Presenters/Bootstrap4NavbarRightPresenter.php diff --git a/packages/WebDevTools/Laravel/Presenters/Bootstrap4NavbarPresenter.php b/packages/WebDevTools/Laravel/Presenters/Bootstrap4NavbarPresenter.php deleted file mode 100755 index 67546676..00000000 --- a/packages/WebDevTools/Laravel/Presenters/Bootstrap4NavbarPresenter.php +++ /dev/null @@ -1,156 +0,0 @@ -' . PHP_EOL; - } - - /** - * Get close tag wrapper. - * - * @return string - */ - public function getCloseTagWrapper() - { - return PHP_EOL . '' . PHP_EOL; - } - - /** - * Get menu tag without dropdown wrapper. - * - * @param \Nwidart\Menus\MenuItem $item - * @param string $itemClass - * - * @return string - */ - public function getMenuWithoutDropdownWrapper($item, $itemClass = 'nav-item nav-link') - { - $class = $itemClass . ' ' . $this->getItemClasses($item) . $this->getActiveClass($item); - return 'getAttributes() . - '>' . - trim($item->getIcon() . ' ' . $item->title) . - ''; - } - - /** - * Get divider tag wrapper. - * - * @return string - */ - public function getDividerWrapper() - { - return ''; - } - - /** - * Get divider tag wrapper. - * - * @param \Nwidart\Menus\MenuItem $item - * - * @return mixed - */ - public function getHeaderWrapper($item) - { - return ''; - } - - /** - * Get menu tag with dropdown wrapper. - * - * @param \Nwidart\Menus\MenuItem $item - * - * @return string - */ - public function getMenuWithDropDownWrapper($item) - { - $class = 'nav-link dropdown-toggle ' . $this->getItemClasses($item); - return ''; - } - - /** - * Get child menu items. - * - * @param \Nwidart\Menus\MenuItem $item - * - * @return string - */ - public function getChildMenuItems(MenuItem $item) - { - $results = ''; - foreach ($item->getChilds() as $child) { - if ($child->hidden()) { - continue; - } - - if ($child->isHeader()) { - $results .= $this->getHeaderWrapper($child); - } elseif ($child->isDivider()) { - $results .= $this->getDividerWrapper(); - } else { - $results .= $this->getMenuWithoutDropdownWrapper($child, 'dropdown-item'); - } - } - - return $results; - } - - /** - * Determine whether the include the active class for the nav item. - * - * @param \Nwidart\Menus\MenuItem $item - * - * @return string - */ - protected function getActiveClass(MenuItem $item) - { - return $item->isActive() || $item->hasActiveOnChild() ? ' active' : ''; - } - - /** - * Get the item classes (and remove them from the item's attributes). - * - * @param \Nwidart\Menus\MenuItem $item - * - * @return string - */ - protected function getItemClasses(MenuItem $item) - { - if (isset($item->attributes['class'])) { - $class = $item->attributes['class']; - unset($item->attributes['class']); - } else { - $class = ''; - } - - return $class; - } -} diff --git a/packages/WebDevTools/Laravel/Presenters/Bootstrap4NavbarRightPresenter.php b/packages/WebDevTools/Laravel/Presenters/Bootstrap4NavbarRightPresenter.php deleted file mode 100755 index d2b284bc..00000000 --- a/packages/WebDevTools/Laravel/Presenters/Bootstrap4NavbarRightPresenter.php +++ /dev/null @@ -1,16 +0,0 @@ -' . PHP_EOL; - } -} From 98006c6c93216fa8d2b7db7f47b25bbb651c3bb5 Mon Sep 17 00:00:00 2001 From: Ben Jones Date: Sun, 31 Aug 2025 18:29:43 +0100 Subject: [PATCH 5/9] chore: add baseline --- phpstan-baseline.neon | 7621 +++++++++++++++++++++++++++++++++++++++++ phpstan.neon | 1 + 2 files changed, 7622 insertions(+) create mode 100644 phpstan-baseline.neon diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon new file mode 100644 index 00000000..44719db6 --- /dev/null +++ b/phpstan-baseline.neon @@ -0,0 +1,7621 @@ +parameters: + ignoreErrors: + - + message: '#^Method App\\Auth\\UserProvider\:\:checkUserStatus\(\) has parameter \$user with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Auth/UserProvider.php + + - + message: '#^Method App\\Auth\\UserProvider\:\:retrieveByCredentials\(\) has parameter \$credentials with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Auth/UserProvider.php + + - + message: '#^Parameter \#2 \$title of static method Package\\Notifications\\NotificationHandler\:\:error\(\) expects null, string given\.$#' + identifier: argument.type + count: 1 + path: app/Auth/UserProvider.php + + - + message: '#^Property App\\Console\\Kernel\:\:\$commands type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Console/Kernel.php + + - + message: '#^Method App\\Exceptions\\Handler\:\:render\(\) should return Illuminate\\Http\\Response but returns Symfony\\Component\\HttpFoundation\\Response\.$#' + identifier: return.type + count: 1 + path: app/Exceptions/Handler.php + + - + message: '#^PHPDoc type array of property App\\Exceptions\\Handler\:\:\$dontReport is not covariant with PHPDoc type array\\> of overridden property Illuminate\\Foundation\\Exceptions\\Handler\:\:\$dontReport\.$#' + identifier: property.phpDocType + count: 1 + path: app/Exceptions/Handler.php + + - + message: '#^Property App\\Exceptions\\Handler\:\:\$dontReport type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Exceptions/Handler.php + + - + message: '#^Method App\\Helpers\\MonologLogFmtFormatter\:\:convertToString\(\) has parameter \$data with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Helpers/MonologLogFmtFormatter.php + + - + message: '#^Method App\\Helpers\\MonologLogFmtFormatter\:\:isValidIdent\(\) has parameter \$val with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Helpers/MonologLogFmtFormatter.php + + - + message: '#^Method App\\Helpers\\MonologLogFmtFormatter\:\:stringifyVal\(\) has parameter \$val with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Helpers/MonologLogFmtFormatter.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Auth/LoginController.php + + - + message: '#^Method App\\Http\\Controllers\\Auth\\LoginController\:\:logout\(\) should return Illuminate\\Http\\Response but returns Illuminate\\Http\\JsonResponse\|Illuminate\\Http\\RedirectResponse\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Auth/LoginController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Auth/ResetPasswordController.php + + - + message: '#^Method App\\Http\\Controllers\\Auth\\ResetPasswordController\:\:sendResetResponse\(\) should return Illuminate\\Http\\RedirectResponse but returns Illuminate\\Http\\JsonResponse\|Illuminate\\Http\\RedirectResponse\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Auth/ResetPasswordController.php + + - + message: '#^Call to an undefined method App\\Models\\Awards\\Award\|Illuminate\\Database\\Eloquent\\Collection\\:\:delete\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Awards/AwardController.php + + - + message: '#^Call to an undefined method App\\Models\\Awards\\Award\|Illuminate\\Database\\Eloquent\\Collection\\:\:update\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Awards/AwardController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 6 + path: app/Http/Controllers/Awards/AwardController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\AwardController\:\:approve\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/AwardController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\AwardController\:\:destroy\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/AwardController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\AwardController\:\:update\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/AwardController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$award_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Awards/NominationController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Awards/NominationController.php + + - + message: '#^Call to an undefined method App\\Models\\Awards\\Season\|Illuminate\\Database\\Eloquent\\Collection\\:\:nominations\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Awards/NominationController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 4 + path: app/Http/Controllers/Awards/NominationController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\NominationController\:\:approve\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/NominationController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\NominationController\:\:approve\(\) has parameter \$seasonId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/NominationController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\NominationController\:\:approve\(\) should return Illuminate\\Http\\RedirectResponse but returns Illuminate\\Http\\JsonResponse\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Awards/NominationController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\NominationController\:\:destroy\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/NominationController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\NominationController\:\:destroy\(\) has parameter \$seasonId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/NominationController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\NominationController\:\:destroy\(\) should return Illuminate\\Http\\RedirectResponse but returns Illuminate\\Http\\JsonResponse\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Awards/NominationController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\NominationController\:\:getNomination\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/NominationController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\NominationController\:\:getNomination\(\) has parameter \$seasonId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/NominationController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\NominationController\:\:index\(\) has parameter \$seasonId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/NominationController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\NominationController\:\:store\(\) has parameter \$seasonId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/NominationController.php + + - + message: '#^Access to an undefined property App\\Models\\Awards\\Season\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$status\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Call to an undefined method App\\Models\\Awards\\Award\|Illuminate\\Database\\Eloquent\\Collection\\:\:userHasVoted\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Call to an undefined method App\\Models\\Awards\\Season\|Illuminate\\Database\\Eloquent\\Collection\\:\:delete\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Call to an undefined method App\\Models\\Awards\\Season\|Illuminate\\Database\\Eloquent\\Collection\\:\:nominations\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Call to an undefined method App\\Models\\Awards\\Season\|Illuminate\\Database\\Eloquent\\Collection\\:\:update\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Collection\\|Illuminate\\Database\\Eloquent\\Model\:\:votes\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 11 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Cannot call method isAdmin\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\SeasonController\:\:destroy\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\SeasonController\:\:update\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\SeasonController\:\:updateStatus\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\SeasonController\:\:updateStatus\(\) with return type void returns Illuminate\\Http\\JsonResponse but should not return anything\.$#' + identifier: return.void + count: 2 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\SeasonController\:\:view\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\SeasonController\:\:view\(\) should return \$this\(App\\Http\\Controllers\\Awards\\SeasonController\) but returns Illuminate\\Http\\RedirectResponse\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\SeasonController\:\:view\(\) should return \$this\(App\\Http\\Controllers\\Awards\\SeasonController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Method App\\Http\\Controllers\\Awards\\SeasonController\:\:vote\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Awards/SeasonController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 3 + path: app/Http/Controllers/BackupController.php + + - + message: '#^Method App\\Http\\Controllers\\BackupController\:\:ajaxError\(\) has parameter \$errorCode with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/BackupController.php + + - + message: '#^Method App\\Http\\Controllers\\BackupController\:\:ajaxError\(\) has parameter \$errorText with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/BackupController.php + + - + message: '#^Method App\\Http\\Controllers\\BackupController\:\:ajaxResponse\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Controllers/BackupController.php + + - + message: '#^Method App\\Http\\Controllers\\BackupController\:\:ajaxResponse\(\) has parameter \$headers with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Controllers/BackupController.php + + - + message: '#^Method App\\Http\\Controllers\\BackupController\:\:ajaxResponse\(\) has parameter \$text with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/BackupController.php + + - + message: '#^Method App\\Http\\Controllers\\BackupController\:\:download\(\) has parameter \$filename with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/BackupController.php + + - + message: '#^Access to an undefined property App\\Models\\Committee\\Role\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/CommitteeController.php + + - + message: '#^Access to an undefined property App\\Models\\Committee\\Role\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/CommitteeController.php + + - + message: '#^Call to an undefined method App\\Models\\Committee\\Role\|Illuminate\\Database\\Eloquent\\Collection\\:\:delete\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/CommitteeController.php + + - + message: '#^Call to an undefined method App\\Models\\Committee\\Role\|Illuminate\\Database\\Eloquent\\Collection\\:\:update\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/CommitteeController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 3 + path: app/Http/Controllers/CommitteeController.php + + - + message: '#^Method App\\Http\\Controllers\\CommitteeController\:\:destroy\(\) should return Illuminate\\Http\\Response but returns Illuminate\\Http\\JsonResponse\.$#' + identifier: return.type + count: 2 + path: app/Http/Controllers/CommitteeController.php + + - + message: '#^Method App\\Http\\Controllers\\CommitteeController\:\:store\(\) should return Illuminate\\Http\\Response but returns Illuminate\\Http\\JsonResponse\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/CommitteeController.php + + - + message: '#^Method App\\Http\\Controllers\\CommitteeController\:\:update\(\) should return Illuminate\\Http\\Response but returns Illuminate\\Http\\JsonResponse\.$#' + identifier: return.type + count: 2 + path: app/Http/Controllers/CommitteeController.php + + - + message: '#^Method App\\Http\\Controllers\\CommitteeController\:\:view\(\) has invalid return type App\\Http\\Controllers\\Response\.$#' + identifier: class.notFound + count: 1 + path: app/Http/Controllers/CommitteeController.php + + - + message: '#^Method App\\Http\\Controllers\\CommitteeController\:\:view\(\) should return App\\Http\\Controllers\\Response but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/CommitteeController.php + + - + message: '#^Cannot access property \$email on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Contact/NearMissController.php + + - + message: '#^Cannot access property \$name on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Contact/NearMissController.php + + - + message: '#^Cannot call method getName\(\) on Illuminate\\Routing\\Route\|null\.$#' + identifier: method.nonObject + count: 2 + path: app/Http/Controllers/Controller.php + + - + message: '#^Cannot call method parameters\(\) on Illuminate\\Routing\\Route\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Controller.php + + - + message: '#^Method App\\Http\\Controllers\\Controller\:\:ajaxError\(\) has parameter \$errorCode with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Controller.php + + - + message: '#^Method App\\Http\\Controllers\\Controller\:\:ajaxError\(\) has parameter \$errorText with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Controller.php + + - + message: '#^Method App\\Http\\Controllers\\Controller\:\:ajaxResponse\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Controllers/Controller.php + + - + message: '#^Method App\\Http\\Controllers\\Controller\:\:ajaxResponse\(\) has parameter \$headers with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Controllers/Controller.php + + - + message: '#^Method App\\Http\\Controllers\\Controller\:\:ajaxResponse\(\) has parameter \$text with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Controller.php + + - + message: '#^Method App\\Http\\Controllers\\Controller\:\:authorizeGate\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Http/Controllers/Controller.php + + - + message: '#^Method App\\Http\\Controllers\\Controller\:\:authorizeGate\(\) has parameter \$action with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Controller.php + + - + message: '#^Method App\\Http\\Controllers\\Controller\:\:checkPage\(\) has parameter \$paginator with generic class Illuminate\\Pagination\\LengthAwarePaginator but does not specify its types\: TKey, TValue$#' + identifier: missingType.generics + count: 1 + path: app/Http/Controllers/Controller.php + + - + message: '#^Access to an undefined property App\\Models\\Elections\\Election\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Access to an undefined property App\\Models\\Elections\\Election\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$nominations\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Access to an undefined property App\\Models\\Elections\\Election\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$positions\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Call to an undefined method App\\Models\\Elections\\Election\|Illuminate\\Database\\Eloquent\\Collection\\:\:canModifyResults\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Call to an undefined method App\\Models\\Elections\\Election\|Illuminate\\Database\\Eloquent\\Collection\\:\:delete\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Call to an undefined method App\\Models\\Elections\\Election\|Illuminate\\Database\\Eloquent\\Collection\\:\:getManifestoPath\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Call to an undefined method App\\Models\\Elections\\Election\|Illuminate\\Database\\Eloquent\\Collection\\:\:update\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 4 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Method App\\Http\\Controllers\\Elections\\ElectionController\:\:create\(\) should return \$this\(App\\Http\\Controllers\\Elections\\ElectionController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Method App\\Http\\Controllers\\Elections\\ElectionController\:\:destroy\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Method App\\Http\\Controllers\\Elections\\ElectionController\:\:determineElectionPositions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Method App\\Http\\Controllers\\Elections\\ElectionController\:\:edit\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Method App\\Http\\Controllers\\Elections\\ElectionController\:\:edit\(\) should return Illuminate\\Http\\Response but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Method App\\Http\\Controllers\\Elections\\ElectionController\:\:elect\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Method App\\Http\\Controllers\\Elections\\ElectionController\:\:index\(\) should return \$this\(App\\Http\\Controllers\\Elections\\ElectionController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Method App\\Http\\Controllers\\Elections\\ElectionController\:\:update\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Method App\\Http\\Controllers\\Elections\\ElectionController\:\:view\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Method App\\Http\\Controllers\\Elections\\ElectionController\:\:view\(\) should return \$this\(App\\Http\\Controllers\\Elections\\ElectionController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Elections/ElectionController.php + + - + message: '#^Access to an undefined property App\\Models\\Elections\\Election\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Access to an undefined property App\\Models\\Elections\\Election\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$positions\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Call to an undefined method App\\Models\\Elections\\Election\|Illuminate\\Database\\Eloquent\\Collection\\:\:canModifyNominations\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Call to an undefined method App\\Models\\Elections\\Election\|Illuminate\\Database\\Eloquent\\Collection\\:\:getManifestoPath\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Call to an undefined method App\\Models\\Elections\\Election\|Illuminate\\Database\\Eloquent\\Collection\\:\:nominations\(\)\.$#' + identifier: method.notFound + count: 3 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:getManifestoName\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:getManifestoPath\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 4 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Cannot call method getManifestoPath\(\) on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Method App\\Http\\Controllers\\Elections\\NominationController\:\:destroy\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Method App\\Http\\Controllers\\Elections\\NominationController\:\:destroy\(\) has parameter \$nominationId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Method App\\Http\\Controllers\\Elections\\NominationController\:\:manifesto\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Method App\\Http\\Controllers\\Elections\\NominationController\:\:manifesto\(\) has parameter \$nominationId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Method App\\Http\\Controllers\\Elections\\NominationController\:\:store\(\) has parameter \$electionId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Parameter \#1 \$content of function response expects array\|Illuminate\\Contracts\\View\\View\|string\|null, string\|false given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Elections/NominationController.php + + - + message: '#^Access to an undefined property App\\Models\\Equipment\\Breakage\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$extension\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$mime\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Call to an undefined method App\\Models\\Equipment\\Breakage\|Illuminate\\Database\\Eloquent\\Collection\\:\:images\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Call to an undefined method App\\Models\\Equipment\\Breakage\|Illuminate\\Database\\Eloquent\\Collection\\:\:update\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:getImagePath\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Cannot access property \$email on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 5 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Cannot access property \$name on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Cannot access property \$username on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Method App\\Http\\Controllers\\Equipment\\RepairsController\:\:index\(\) should return \$this\(App\\Http\\Controllers\\Equipment\\RepairsController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Method App\\Http\\Controllers\\Equipment\\RepairsController\:\:streamImage\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Method App\\Http\\Controllers\\Equipment\\RepairsController\:\:streamImage\(\) has parameter \$imageId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Method App\\Http\\Controllers\\Equipment\\RepairsController\:\:update\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Method App\\Http\\Controllers\\Equipment\\RepairsController\:\:updateBreakageStatus\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Method App\\Http\\Controllers\\Equipment\\RepairsController\:\:view\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Parameter \#1 \$breakage of method App\\Http\\Controllers\\Equipment\\RepairsController\:\:updateBreakageStatus\(\) expects App\\Models\\Equipment\\Breakage, App\\Models\\Equipment\\Breakage\|Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Parameter \#1 \$content of function response expects array\|Illuminate\\Contracts\\View\\View\|string\|null, string\|false given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Equipment/RepairsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Call to an undefined method App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\\:\:crew\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:isGuest\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Cannot access property \$forename on App\\Models\\Users\\User\|Illuminate\\Database\\Eloquent\\Collection\\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 13 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Cannot access property \$id on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Cannot call method isCrew\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Cannot call method isTracked\(\) on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Cannot call method notify\(\) on App\\Models\\Users\\User\|Illuminate\\Database\\Eloquent\\Collection\\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Cannot call method notify\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Cannot call method notify\(\) on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\CrewController\:\:destroy\(\) has parameter \$crewId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\CrewController\:\:destroy\(\) has parameter \$eventId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\CrewController\:\:store\(\) has parameter \$eventId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\CrewController\:\:toggleVolunteer\(\) has parameter \$eventId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\CrewController\:\:update\(\) has parameter \$crewId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\CrewController\:\:update\(\) has parameter \$eventId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\CrewController\:\:update\(\) should return Illuminate\\Http\\JsonResponse but return statement is missing\.$#' + identifier: return.missing + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Parameter \#1 \$crew of class App\\Notifications\\Events\\UserHasVolunteered constructor expects App\\Models\\Events\\Crew, Illuminate\\Database\\Eloquent\\Model given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Parameter \#1 \$event of method App\\Http\\Controllers\\Events\\CrewController\:\:isGuestAction\(\) expects App\\Models\\Events\\Event, App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 2 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Parameter \#1 \$event of method App\\Http\\Controllers\\Events\\CrewController\:\:storeGuest\(\) expects App\\Models\\Events\\Event, App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Parameter \#1 \$event of method App\\Http\\Controllers\\Events\\CrewController\:\:storeMember\(\) expects App\\Models\\Events\\Event, App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Parameter \#1 \$event of method App\\Http\\Controllers\\Events\\CrewController\:\:unvolunteer\(\) expects App\\Models\\Events\\Event, App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Parameter \#1 \$event of method App\\Http\\Controllers\\Events\\CrewController\:\:volunteer\(\) expects App\\Models\\Events\\Event, App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Parameter \#2 \$crew of method App\\Http\\Controllers\\Events\\CrewController\:\:updateField\(\) expects App\\Models\\Events\\Crew, Illuminate\\Database\\Eloquent\\Model given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Parameter \#2 \$crew of method App\\Http\\Controllers\\Events\\CrewController\:\:updateGuest\(\) expects App\\Models\\Events\\Crew, Illuminate\\Database\\Eloquent\\Model given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Parameter \#2 \$crew of method App\\Http\\Controllers\\Events\\CrewController\:\:updateMember\(\) expects App\\Models\\Events\\Crew, Illuminate\\Database\\Eloquent\\Model given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Events/CrewController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$end\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Events/DiaryController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Events/DiaryController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$start\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Events/DiaryController.php + + - + message: '#^Cannot access property \$dayOfWeek on Carbon\\Carbon\|null\.$#' + identifier: property.nonObject + count: 2 + path: app/Http/Controllers/Events/DiaryController.php + + - + message: '#^Cannot access property \$month on Carbon\\Carbon\|null\.$#' + identifier: property.nonObject + count: 2 + path: app/Http/Controllers/Events/DiaryController.php + + - + message: '#^Cannot access property \$year on Carbon\\Carbon\|null\.$#' + identifier: property.nonObject + count: 2 + path: app/Http/Controllers/Events/DiaryController.php + + - + message: '#^Left side of && is always false\.$#' + identifier: booleanAnd.leftAlwaysFalse + count: 1 + path: app/Http/Controllers/Events/DiaryController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\DiaryController\:\:view\(\) should return \$this\(App\\Http\\Controllers\\Events\\DiaryController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Events/DiaryController.php + + - + message: '#^Parameter \#2 \$data of function hash expects string, string\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Events/DiaryController.php + + - + message: '#^Right side of && is always false\.$#' + identifier: booleanAnd.rightAlwaysFalse + count: 1 + path: app/Http/Controllers/Events/DiaryController.php + + - + message: '#^Variable \$user might not be defined\.$#' + identifier: variable.undefined + count: 1 + path: app/Http/Controllers/Events/DiaryController.php + + - + message: '#^Call to an undefined method App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\\:\:emails\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Events/EmailController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Events/EmailController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\EmailController\:\:store\(\) has parameter \$eventId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/EmailController.php + + - + message: '#^Access to an undefined property App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$em\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Access to an undefined property App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$type\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Call to an undefined method App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\\:\:delete\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Call to an undefined method App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\\:\:hasEM\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Collection\\:\:isEvent\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:core\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:general\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:guest\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Call to function is_null\(\) with null will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 2 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Cannot access property \$email on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 8 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Cannot access property \$name on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Cannot call method can\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Cannot call method isAdmin\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Cannot call method isMember\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Cannot call method setTime\(\) on Carbon\\Carbon\|null\.$#' + identifier: method.nonObject + count: 2 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\EventController\:\:destroy\(\) has parameter \$eventId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\EventController\:\:index\(\) should return \$this\(App\\Http\\Controllers\\Events\\EventController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\EventController\:\:sendFinanceEmail\(\) has parameter \$eventId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\EventController\:\:update\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\EventController\:\:update\(\) has parameter \$eventId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\EventController\:\:updateClearCrew\(\) has parameter \$mode with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\EventController\:\:updateDetails\(\) never returns \$this\(App\\Http\\Controllers\\Events\\EventController\) so it can be removed from the return type\.$#' + identifier: return.unusedType + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\EventController\:\:updatePaperwork\(\) has parameter \$paperwork with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\EventController\:\:updatePaperwork\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\EventController\:\:view\(\) has parameter \$eventId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\EventController\:\:view\(\) should return \$this\(App\\Http\\Controllers\\Events\\EventController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^PHPDoc tag @return has invalid value \(\)\: Unexpected token "\\n \* ", expected type at offset 136 on line 7$#' + identifier: phpDoc.parseError + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Parameter \#1 \$event of method App\\Http\\Controllers\\Events\\EventController\:\:updateClearCrew\(\) expects App\\Models\\Events\\Event, App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Parameter \#1 \$event of method App\\Http\\Controllers\\Events\\EventController\:\:updateDetails\(\) expects App\\Models\\Events\\Event, App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Parameter \#1 \$event of method App\\Http\\Controllers\\Events\\EventController\:\:updatePaperwork\(\) expects App\\Models\\Events\\Event, App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Parameter \#1 \$hour of method Carbon\\Traits\\Date\:\:setTime\(\) expects int, string given\.$#' + identifier: argument.type + count: 2 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Parameter \#1 \$paginator of method App\\Http\\Controllers\\Controller\:\:checkPage\(\) expects Illuminate\\Pagination\\LengthAwarePaginator, Illuminate\\Database\\Eloquent\\Builder\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Parameter \#2 \$event of class App\\Mail\\Events\\FinanceEmail constructor expects App\\Models\\Events\\Event, App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Parameter \#2 \$minute of method Carbon\\Traits\\Date\:\:setTime\(\) expects int, string given\.$#' + identifier: argument.type + count: 2 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Undefined variable\: \$event$#' + identifier: variable.undefined + count: 1 + path: app/Http/Controllers/Events/EventController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Events/TimeController.php + + - + message: '#^Call to an undefined method App\\Models\\Events\\Event\|Illuminate\\Database\\Eloquent\\Collection\\|Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:create\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Events/TimeController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 4 + path: app/Http/Controllers/Events/TimeController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\TimeController\:\:destroy\(\) has parameter \$eventId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/TimeController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\TimeController\:\:destroy\(\) has parameter \$timeId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/TimeController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\TimeController\:\:store\(\) has parameter \$eventId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/TimeController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\TimeController\:\:update\(\) has parameter \$eventId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/TimeController.php + + - + message: '#^Method App\\Http\\Controllers\\Events\\TimeController\:\:update\(\) has parameter \$timeId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Events/TimeController.php + + - + message: '#^Method App\\Http\\Controllers\\Media\\ImageController\:\:album\(\) should return Illuminate\\Http\\Response but returns Illuminate\\Http\\RedirectResponse\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Media/ImageController.php + + - + message: '#^Method App\\Http\\Controllers\\Media\\ImageController\:\:index\(\) should return Illuminate\\Http\\Response but returns Illuminate\\Http\\RedirectResponse\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Media/ImageController.php + + - + message: '#^Method App\\Http\\Controllers\\Media\\ImageController\:\:view\(\) should return Illuminate\\Http\\Response but returns Illuminate\\Http\\RedirectResponse\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Media/ImageController.php + + - + message: '#^Method App\\Http\\Controllers\\Media\\VideoController\:\:index\(\) should return \$this\(App\\Http\\Controllers\\Media\\VideoController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Media/VideoController.php + + - + message: '#^Method App\\Http\\Controllers\\Media\\VideoController\:\:show\(\) has parameter \$videoId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Media/VideoController.php + + - + message: '#^Method App\\Http\\Controllers\\Media\\VideoController\:\:show\(\) should return \$this\(App\\Http\\Controllers\\Media\\VideoController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Media/VideoController.php + + - + message: '#^Negated boolean expression is always false\.$#' + identifier: booleanNot.alwaysFalse + count: 1 + path: app/Http/Controllers/Media/VideoController.php + + - + message: '#^Cannot access property \$diary_preferences on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 2 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Cannot access property \$email on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Cannot access property \$export_token on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 2 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Cannot call method hasExportToken\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Cannot call method isMember\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Cannot call method save\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 2 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Cannot call method setAvatar\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Cannot call method update\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 3 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\MemberController\:\:dash\(\) should return Illuminate\\Http\\RedirectResponse but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\MemberController\:\:membership\(\) should return \$this\(App\\Http\\Controllers\\Members\\MemberController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\MemberController\:\:profile\(\) should return \$this\(App\\Http\\Controllers\\Members\\MemberController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\MemberController\:\:removeAvatar\(\) should return Illuminate\\Http\\JsonResponse but return statement is missing\.$#' + identifier: return.missing + count: 1 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\MemberController\:\:updateMemberFields\(\) has parameter \$fields with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\MemberController\:\:view\(\) has parameter \$username with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\MemberController\:\:view\(\) should return \$this\(App\\Http\\Controllers\\Members\\MemberController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Parameter \#1 \$user of method App\\Http\\Controllers\\Members\\MemberController\:\:removeAvatar\(\) expects App\\Models\\Users\\User, App\\Models\\Users\\User\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Members/MemberController.php + + - + message: '#^Call to an undefined method App\\Models\\Users\\User\|Illuminate\\Database\\Eloquent\\Collection\\:\:archive\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Call to an undefined method App\\Models\\Users\\User\|Illuminate\\Database\\Eloquent\\Collection\\:\:makeAssociate\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Call to an undefined method App\\Models\\Users\\User\|Illuminate\\Database\\Eloquent\\Collection\\:\:makeCommittee\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Cannot access property \$username on array\|float\|int\|string\|false\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Loose comparison using \=\= between int\<1, max\> and 0 will always evaluate to false\.$#' + identifier: equal.alwaysFalse + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:archiveUser\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:archiveUser\(\) has parameter \$userId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:createSummary\(\) should return \$this\(App\\Http\\Controllers\\Members\\UsersController\)\|Illuminate\\Http\\RedirectResponse but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:edit\(\) has parameter \$username with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:edit\(\) should return \$this\(App\\Http\\Controllers\\Members\\UsersController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:index\(\) should return \$this\(App\\Http\\Controllers\\Members\\UsersController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:store\(\) should return Illuminate\\Http\\RedirectResponse but returns \$this\(App\\Http\\Controllers\\Members\\UsersController\)\|Illuminate\\Http\\RedirectResponse\.$#' + identifier: return.type + count: 2 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:storeBulk\(\) never returns \$this\(App\\Http\\Controllers\\Members\\UsersController\) so it can be removed from the return type\.$#' + identifier: return.unusedType + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:storeSingle\(\) never returns \$this\(App\\Http\\Controllers\\Members\\UsersController\) so it can be removed from the return type\.$#' + identifier: return.unusedType + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:storeValidationMessages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:update\(\) has parameter \$username with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:update\(\) should return Illuminate\\Http\\RedirectResponse but returns \$this\(App\\Http\\Controllers\\Members\\UsersController\)\|Illuminate\\Http\\RedirectResponse\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:updateAvatar\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:updateBulk\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:updateDetails\(\) never returns \$this\(App\\Http\\Controllers\\Members\\UsersController\) so it can be removed from the return type\.$#' + identifier: return.unusedType + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:updateRemoveAvatar\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:updateResetPassword\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:updateStatus\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Method App\\Http\\Controllers\\Members\\UsersController\:\:view\(\) has parameter \$username with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Property App\\Http\\Controllers\\Members\\UsersController\:\:\$BulkActionMap type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Property App\\Http\\Controllers\\Members\\UsersController\:\:\$BulkActions type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Controllers/Members/UsersController.php + + - + message: '#^Call to an undefined method App\\Models\\Resources\\Category\|Illuminate\\Database\\Eloquent\\Collection\\:\:delete\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Resources/CategoryController.php + + - + message: '#^Call to an undefined method App\\Models\\Resources\\Category\|Illuminate\\Database\\Eloquent\\Collection\\:\:update\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Resources/CategoryController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 3 + path: app/Http/Controllers/Resources/CategoryController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\CategoryController\:\:createSlug\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Http/Controllers/Resources/CategoryController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\CategoryController\:\:destroy\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/CategoryController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\CategoryController\:\:index\(\) should return \$this\(App\\Http\\Controllers\\Resources\\CategoryController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Resources/CategoryController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\CategoryController\:\:update\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/CategoryController.php + + - + message: '#^Access to an undefined property App\\Models\\Resources\\Resource\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Call to an undefined method App\\Models\\Resources\\Resource\|Illuminate\\Database\\Eloquent\\Collection\\:\:canAccess\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Call to an undefined method App\\Models\\Resources\\Resource\|Illuminate\\Database\\Eloquent\\Collection\\:\:delete\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Call to an undefined method App\\Models\\Resources\\Resource\|Illuminate\\Database\\Eloquent\\Collection\\:\:getFullPath\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Call to an undefined method App\\Models\\Resources\\Resource\|Illuminate\\Database\\Eloquent\\Collection\\:\:isFile\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Call to an undefined method App\\Models\\Resources\\Resource\|Illuminate\\Database\\Eloquent\\Collection\\:\:isIssuable\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Call to an undefined method App\\Models\\Resources\\Resource\|Illuminate\\Database\\Eloquent\\Collection\\:\:reissue\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Call to an undefined method App\\Models\\Resources\\Resource\|Illuminate\\Database\\Eloquent\\Collection\\:\:tags\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Call to an undefined method App\\Models\\Resources\\Resource\|Illuminate\\Database\\Eloquent\\Collection\\:\:update\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 4 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Cannot call method getName\(\) on Illuminate\\Routing\\Route\|null\.$#' + identifier: method.nonObject + count: 2 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Cannot call method parameters\(\) on Illuminate\\Routing\\Route\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Deprecated in PHP 8\.4\: Parameter \#1 \$customQuery \(array\) is implicitly nullable via default value null\.$#' + identifier: parameter.implicitlyNullable + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:destroy\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:download\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:edit\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:edit\(\) should return \$this\(App\\Http\\Controllers\\Resources\\ResourceController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:getResourceWithAccessCheck\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:getResourceWithAccessCheck\(\) should return App\\Models\\Resources\\Resource but returns App\\Models\\Resources\\Resource\|Illuminate\\Database\\Eloquent\\Collection\\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:history\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:history\(\) should return Illuminate\\View\\View but returns Illuminate\\Http\\RedirectResponse\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:index\(\) should return \$this\(App\\Http\\Controllers\\Resources\\ResourceController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:issue\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:issueForm\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:issueForm\(\) should return Illuminate\\View\\View but returns Illuminate\\Http\\RedirectResponse\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:paginatorPath\(\) has parameter \$customQuery with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:stream\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:update\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\ResourceController\:\:view\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/ResourceController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\SearchController\:\:parseSearchRequest\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Controllers/Resources/SearchController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\SearchController\:\:viewResults\(\) has parameter \$category with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/SearchController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\SearchController\:\:viewResults\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/SearchController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\SearchController\:\:viewResults\(\) has parameter \$tags with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Controllers/Resources/SearchController.php + + - + message: '#^Offset 1 might not exist on array\{0\: string, 1\?\: non\-empty\-string\}\.$#' + identifier: offsetAccess.notFound + count: 2 + path: app/Http/Controllers/Resources/SearchController.php + + - + message: '#^Call to an undefined method App\\Models\\Resources\\Tag\|Illuminate\\Database\\Eloquent\\Collection\\:\:delete\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Resources/TagController.php + + - + message: '#^Call to an undefined method App\\Models\\Resources\\Tag\|Illuminate\\Database\\Eloquent\\Collection\\:\:update\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Resources/TagController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 3 + path: app/Http/Controllers/Resources/TagController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\TagController\:\:createSlug\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Http/Controllers/Resources/TagController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\TagController\:\:destroy\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/TagController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\TagController\:\:index\(\) should return \$this\(App\\Http\\Controllers\\Resources\\TagController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Resources/TagController.php + + - + message: '#^Method App\\Http\\Controllers\\Resources\\TagController\:\:update\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Resources/TagController.php + + - + message: '#^Call to an undefined method App\\Models\\Training\\Category\|Illuminate\\Database\\Eloquent\\Collection\\:\:delete\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Training/CategoryController.php + + - + message: '#^Call to an undefined method App\\Models\\Training\\Category\|Illuminate\\Database\\Eloquent\\Collection\\:\:update\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Training/CategoryController.php + + - + message: '#^Method App\\Http\\Controllers\\Training\\CategoryController\:\:destroy\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Training/CategoryController.php + + - + message: '#^Method App\\Http\\Controllers\\Training\\CategoryController\:\:update\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Training/CategoryController.php + + - + message: '#^Access to an undefined property App\\Models\\Training\\Skills\\Application\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Access to an undefined property App\\Models\\Training\\Skills\\Application\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$skill\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Access to an undefined property App\\Models\\Training\\Skills\\Application\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$skill_id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Access to an undefined property App\\Models\\Training\\Skills\\Application\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$user\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Access to an undefined property App\\Models\\Training\\Skills\\Application\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$user_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Call to an undefined method App\\Models\\Training\\Skills\\Application\|Illuminate\\Database\\Eloquent\\Collection\\:\:isAwarded\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Call to an undefined method App\\Models\\Training\\Skills\\Application\|Illuminate\\Database\\Eloquent\\Collection\\:\:update\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Cannot access property \$email on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Training\\Skills\\Skill\|Illuminate\\Database\\Eloquent\\Collection\\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 3 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Cannot access property \$name on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Cannot call method getName\(\) on Illuminate\\Routing\\Route\|null\.$#' + identifier: method.nonObject + count: 2 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Cannot call method getSkillLevel\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Cannot call method hasApplicationPending\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Cannot call method isLevelAvailable\(\) on App\\Models\\Training\\Skills\\Skill\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Cannot call method isLevelAvailable\(\) on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Cannot call method parameters\(\) on Illuminate\\Routing\\Route\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Cannot call method setSkillLevel\(\) on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Comparison operation "\<\=" between 1 and null is always false\.$#' + identifier: smallerOrEqual.alwaysFalse + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Deprecated in PHP 8\.4\: Parameter \#1 \$skill \(App\\Models\\Training\\Skills\\Skill\) is implicitly nullable via default value null\.$#' + identifier: parameter.implicitlyNullable + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Method App\\Http\\Controllers\\Training\\Skills\\ApplicationController\:\:checkPage\(\) has parameter \$paginator with generic class Illuminate\\Pagination\\LengthAwarePaginator but does not specify its types\: TKey, TValue$#' + identifier: missingType.generics + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Method App\\Http\\Controllers\\Training\\Skills\\ApplicationController\:\:determineSelectableApplicationSkillLevels\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Method App\\Http\\Controllers\\Training\\Skills\\ApplicationController\:\:update\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Method App\\Http\\Controllers\\Training\\Skills\\ApplicationController\:\:view\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Parameter \#1 \$application of class App\\Mail\\Training\\Skills\\ApplicationProcessed constructor expects App\\Models\\Training\\Skills\\Application, App\\Models\\Training\\Skills\\Application\|Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Parameter \#1 \$skill of class App\\Mail\\Training\\Skills\\ApplicationSubmitted constructor expects App\\Models\\Training\\Skills\\Skill, App\\Models\\Training\\Skills\\Skill\|Illuminate\\Database\\Eloquent\\Collection\\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Parameter \#2 \$user of method App\\Http\\Controllers\\Training\\Skills\\ApplicationController\:\:determineSelectableApplicationSkillLevels\(\) expects App\\Models\\Users\\User, App\\Models\\Users\\User\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Parameter \#3 \$user of class App\\Mail\\Training\\Skills\\ApplicationSubmitted constructor expects App\\Models\\Users\\User, App\\Models\\Users\\User\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Result of && is always false\.$#' + identifier: booleanAnd.alwaysFalse + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Result of method App\\Models\\Users\\User\:\:hasSkill\(\) \(void\) is used\.$#' + identifier: method.void + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Right side of && is always false\.$#' + identifier: booleanAnd.rightAlwaysFalse + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Strict comparison using \=\=\= between null and 3 will always evaluate to false\.$#' + identifier: identical.alwaysFalse + count: 1 + path: app/Http/Controllers/Training/Skills/ApplicationController.php + + - + message: '#^Access to an undefined property App\\Models\\Training\\Skills\\Skill\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$id\.$#' + identifier: property.notFound + count: 5 + path: app/Http/Controllers/Training/Skills/AwardedController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|Illuminate\\Database\\Eloquent\\Collection\\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Controllers/Training/Skills/AwardedController.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 4 + path: app/Http/Controllers/Training/Skills/AwardedController.php + + - + message: '#^Cannot call method getSkillLevel\(\) on App\\Models\\Users\\User\|Illuminate\\Database\\Eloquent\\Collection\\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Training/Skills/AwardedController.php + + - + message: '#^Cannot call method setSkillLevel\(\) on App\\Models\\Users\\User\|Illuminate\\Database\\Eloquent\\Collection\\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Training/Skills/AwardedController.php + + - + message: '#^Method App\\Http\\Controllers\\Training\\Skills\\AwardedController\:\:awardForm\(\) should return \$this\(App\\Http\\Controllers\\Training\\Skills\\AwardedController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Training/Skills/AwardedController.php + + - + message: '#^Method App\\Http\\Controllers\\Training\\Skills\\AwardedController\:\:revokeForm\(\) should return \$this\(App\\Http\\Controllers\\Training\\Skills\\AwardedController\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Training/Skills/AwardedController.php + + - + message: '#^Call to an undefined method App\\Models\\Training\\Skills\\Skill\|Illuminate\\Database\\Eloquent\\Collection\\:\:delete\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Training/Skills/SkillController.php + + - + message: '#^Call to an undefined method App\\Models\\Training\\Skills\\Skill\|Illuminate\\Database\\Eloquent\\Collection\\:\:update\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Training/Skills/SkillController.php + + - + message: '#^Method App\\Http\\Controllers\\Training\\Skills\\SkillController\:\:destroy\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Training/Skills/SkillController.php + + - + message: '#^Method App\\Http\\Controllers\\Training\\Skills\\SkillController\:\:destroy\(\) should return Illuminate\\Http\\RedirectResponse but returns Illuminate\\Http\\JsonResponse\.$#' + identifier: return.type + count: 1 + path: app/Http/Controllers/Training/Skills/SkillController.php + + - + message: '#^Method App\\Http\\Controllers\\Training\\Skills\\SkillController\:\:edit\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Training/Skills/SkillController.php + + - + message: '#^Method App\\Http\\Controllers\\Training\\Skills\\SkillController\:\:update\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Training/Skills/SkillController.php + + - + message: '#^Method App\\Http\\Controllers\\Training\\Skills\\SkillController\:\:view\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Http/Controllers/Training/Skills/SkillController.php + + - + message: '#^PHPDoc type array of property App\\Http\\Kernel\:\:\$middleware is not covariant with PHPDoc type array\ of overridden property Illuminate\\Foundation\\Http\\Kernel\:\:\$middleware\.$#' + identifier: property.phpDocType + count: 1 + path: app/Http/Kernel.php + + - + message: '#^PHPDoc type array of property App\\Http\\Kernel\:\:\$middlewareGroups is not covariant with PHPDoc type array\\> of overridden property Illuminate\\Foundation\\Http\\Kernel\:\:\$middlewareGroups\.$#' + identifier: property.phpDocType + count: 1 + path: app/Http/Kernel.php + + - + message: '#^PHPDoc type array of property App\\Http\\Kernel\:\:\$routeMiddleware is not covariant with PHPDoc type array\ of overridden property Illuminate\\Foundation\\Http\\Kernel\:\:\$routeMiddleware\.$#' + identifier: property.phpDocType + count: 1 + path: app/Http/Kernel.php + + - + message: '#^Property App\\Http\\Kernel\:\:\$middleware type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Kernel.php + + - + message: '#^Property App\\Http\\Kernel\:\:\$middlewareGroups type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Kernel.php + + - + message: '#^Property App\\Http\\Kernel\:\:\$routeMiddleware type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Kernel.php + + - + message: '#^PHPDoc type array of property App\\Http\\Middleware\\EncryptCookies\:\:\$except is not covariant with PHPDoc type array\ of overridden property Illuminate\\Cookie\\Middleware\\EncryptCookies\:\:\$except\.$#' + identifier: property.phpDocType + count: 1 + path: app/Http/Middleware/EncryptCookies.php + + - + message: '#^Property App\\Http\\Middleware\\EncryptCookies\:\:\$except type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Middleware/EncryptCookies.php + + - + message: '#^PHPDoc type array of property App\\Http\\Middleware\\TrimStrings\:\:\$except is not covariant with PHPDoc type array\ of overridden property Illuminate\\Foundation\\Http\\Middleware\\TrimStrings\:\:\$except\.$#' + identifier: property.phpDocType + count: 1 + path: app/Http/Middleware/TrimStrings.php + + - + message: '#^Property App\\Http\\Middleware\\TrimStrings\:\:\$except type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Middleware/TrimStrings.php + + - + message: '#^PHPDoc type array\|string of property App\\Http\\Middleware\\TrustedProxies\:\:\$proxies is not covariant with PHPDoc type array\\|string\|null of overridden property Illuminate\\Http\\Middleware\\TrustProxies\:\:\$proxies\.$#' + identifier: property.phpDocType + count: 1 + path: app/Http/Middleware/TrustedProxies.php + + - + message: '#^Property App\\Http\\Middleware\\TrustedProxies\:\:\$proxies type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Middleware/TrustedProxies.php + + - + message: '#^PHPDoc type array of property App\\Http\\Middleware\\VerifyCsrfToken\:\:\$except is not covariant with PHPDoc type array\ of overridden property Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken\:\:\$except\.$#' + identifier: property.phpDocType + count: 1 + path: app/Http/Middleware/VerifyCsrfToken.php + + - + message: '#^Property App\\Http\\Middleware\\VerifyCsrfToken\:\:\$except type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Middleware/VerifyCsrfToken.php + + - + message: '#^Cannot call method can\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Requests/Awards/Nominate.php + + - + message: '#^Cannot call method parameter\(\) on Illuminate\\Routing\\Route\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Requests/Awards/Nominate.php + + - + message: '#^Method App\\Http\\Requests\\Awards\\Nominate\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Awards/Nominate.php + + - + message: '#^Method App\\Http\\Requests\\Awards\\Nominate\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Awards/Nominate.php + + - + message: '#^Cannot call method isAdmin\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Requests/CommitteeRequest.php + + - + message: '#^Method App\\Http\\Requests\\CommitteeRequest\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/CommitteeRequest.php + + - + message: '#^Method App\\Http\\Requests\\CommitteeRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/CommitteeRequest.php + + - + message: '#^Method App\\Http\\Requests\\Contact\\AccidentRequest\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Contact/AccidentRequest.php + + - + message: '#^Method App\\Http\\Requests\\Contact\\AccidentRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Contact/AccidentRequest.php + + - + message: '#^Property App\\Http\\Requests\\Contact\\AccidentRequest\:\:\$PersonTypes type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Contact/AccidentRequest.php + + - + message: '#^Property App\\Http\\Requests\\Contact\\AccidentRequest\:\:\$Severities type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Contact/AccidentRequest.php + + - + message: '#^Method App\\Http\\Requests\\Contact\\BookRequest\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Contact/BookRequest.php + + - + message: '#^Method App\\Http\\Requests\\Contact\\BookRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Contact/BookRequest.php + + - + message: '#^Method App\\Http\\Requests\\Contact\\EnquiryRequest\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Contact/EnquiryRequest.php + + - + message: '#^Method App\\Http\\Requests\\Contact\\EnquiryRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Contact/EnquiryRequest.php + + - + message: '#^Method App\\Http\\Requests\\Contact\\FeedbackRequest\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Contact/FeedbackRequest.php + + - + message: '#^Method App\\Http\\Requests\\Contact\\FeedbackRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Contact/FeedbackRequest.php + + - + message: '#^Method App\\Http\\Requests\\Contact\\NearMissRequest\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Contact/NearMissRequest.php + + - + message: '#^Method App\\Http\\Requests\\Contact\\NearMissRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Contact/NearMissRequest.php + + - + message: '#^Cannot call method can\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 2 + path: app/Http/Requests/ElectionRequest.php + + - + message: '#^Method App\\Http\\Requests\\ElectionRequest\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/ElectionRequest.php + + - + message: '#^Method App\\Http\\Requests\\ElectionRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/ElectionRequest.php + + - + message: '#^Cannot call method isMember\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Requests/Equipment/RepairRequest.php + + - + message: '#^Method App\\Http\\Requests\\Equipment\\RepairRequest\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Equipment/RepairRequest.php + + - + message: '#^Method App\\Http\\Requests\\Equipment\\RepairRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Equipment/RepairRequest.php + + - + message: '#^Method App\\Http\\Requests\\Events\\EmailRequest\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Events/EmailRequest.php + + - + message: '#^Method App\\Http\\Requests\\Events\\EmailRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Events/EmailRequest.php + + - + message: '#^Cannot call method isAdmin\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Requests/Events/EventRequest.php + + - + message: '#^Method App\\Http\\Requests\\Events\\EventRequest\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Events/EventRequest.php + + - + message: '#^Method App\\Http\\Requests\\Events\\EventRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Events/EventRequest.php + + - + message: '#^Property App\\Http\\Requests\\Events\\EventRequest\:\:\$fields type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Events/EventRequest.php + + - + message: '#^Cannot call method can\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Requests/QuoteRequest.php + + - + message: '#^Method App\\Http\\Requests\\QuoteRequest\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/QuoteRequest.php + + - + message: '#^Method App\\Http\\Requests\\QuoteRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/QuoteRequest.php + + - + message: '#^Parameter \#1 \$value of method Carbon\\Carbon\:\:subMinutes\(\) expects float\|int, string\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Requests/QuoteRequest.php + + - + message: '#^Cannot call method getName\(\) on object\|string\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Requests/Request.php + + - + message: '#^Cannot call method can\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 2 + path: app/Http/Requests/Resources/ResourceRequest.php + + - + message: '#^Cannot call method getName\(\) on Illuminate\\Routing\\Route\|null\.$#' + identifier: method.nonObject + count: 2 + path: app/Http/Requests/Resources/ResourceRequest.php + + - + message: '#^Cannot call method parameter\(\) on Illuminate\\Routing\\Route\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Requests/Resources/ResourceRequest.php + + - + message: '#^Constant App\\Http\\Requests\\Resources\\ResourceRequest\:\:FILE_MESSAGES type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Resources/ResourceRequest.php + + - + message: '#^Method App\\Http\\Requests\\Resources\\ResourceRequest\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Resources/ResourceRequest.php + + - + message: '#^Method App\\Http\\Requests\\Resources\\ResourceRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Resources/ResourceRequest.php + + - + message: '#^Cannot call method canAwardSkill\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Requests/Training/Skills/AwardSkill.php + + - + message: '#^Cannot call method isLevelAvailable\(\) on App\\Models\\Training\\Skills\\Skill\|Illuminate\\Database\\Eloquent\\Collection\\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Requests/Training/Skills/AwardSkill.php + + - + message: '#^Method App\\Http\\Requests\\Training\\Skills\\AwardSkill\:\:getValidatorInstance\(\) should return Illuminate\\Validation\\Validator but returns Illuminate\\Contracts\\Validation\\Validator\.$#' + identifier: return.type + count: 1 + path: app/Http/Requests/Training/Skills/AwardSkill.php + + - + message: '#^Method App\\Http\\Requests\\Training\\Skills\\AwardSkill\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Training/Skills/AwardSkill.php + + - + message: '#^Method App\\Http\\Requests\\Training\\Skills\\AwardSkill\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Training/Skills/AwardSkill.php + + - + message: '#^Cannot call method can\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 2 + path: app/Http/Requests/Training/Skills/SkillRequest.php + + - + message: '#^Cannot call method getName\(\) on Illuminate\\Routing\\Route\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Requests/Training/Skills/SkillRequest.php + + - + message: '#^Cannot call method parameter\(\) on Illuminate\\Routing\\Route\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Requests/Training/Skills/SkillRequest.php + + - + message: '#^Method App\\Http\\Requests\\Training\\Skills\\SkillRequest\:\:getValidatorInstance\(\) should return \$this\(App\\Http\\Requests\\Training\\Skills\\SkillRequest\) but returns Illuminate\\Contracts\\Validation\\Validator\.$#' + identifier: return.type + count: 1 + path: app/Http/Requests/Training/Skills/SkillRequest.php + + - + message: '#^Method App\\Http\\Requests\\Training\\Skills\\SkillRequest\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Training/Skills/SkillRequest.php + + - + message: '#^Method App\\Http\\Requests\\Training\\Skills\\SkillRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Training/Skills/SkillRequest.php + + - + message: '#^Cannot access property \$id on App\\Models\\Training\\Skills\\Skill\|Illuminate\\Database\\Eloquent\\Collection\\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Requests/Training/Skills/SubmitApplication.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Http/Requests/Training/Skills/SubmitApplication.php + + - + message: '#^Cannot call method can\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Requests/Training/Skills/SubmitApplication.php + + - + message: '#^Cannot call method getSkillLevel\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Requests/Training/Skills/SubmitApplication.php + + - + message: '#^Cannot call method isLevelAvailable\(\) on App\\Models\\Training\\Skills\\Skill\|Illuminate\\Database\\Eloquent\\Collection\\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Requests/Training/Skills/SubmitApplication.php + + - + message: '#^Method App\\Http\\Requests\\Training\\Skills\\SubmitApplication\:\:getValidatorInstance\(\) should return Illuminate\\Validation\\Validator but returns Illuminate\\Contracts\\Validation\\Validator\.$#' + identifier: return.type + count: 1 + path: app/Http/Requests/Training/Skills/SubmitApplication.php + + - + message: '#^Method App\\Http\\Requests\\Training\\Skills\\SubmitApplication\:\:messages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Training/Skills/SubmitApplication.php + + - + message: '#^Method App\\Http\\Requests\\Training\\Skills\\SubmitApplication\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Training/Skills/SubmitApplication.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Logger.php + + - + message: '#^Deprecated in PHP 8\.4\: Parameter \#4 \$user \(App\\Models\\Users\\User\) is implicitly nullable via default value null\.$#' + identifier: parameter.implicitlyNullable + count: 1 + path: app/Logger.php + + - + message: '#^Method App\\Mail\\Contact\\AccidentReport\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Contact/AccidentReport.php + + - + message: '#^Property App\\Mail\\Contact\\AccidentReport\:\:\$report type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Contact/AccidentReport.php + + - + message: '#^Method App\\Mail\\Contact\\AccidentReportReceipt\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Contact/AccidentReportReceipt.php + + - + message: '#^Property App\\Mail\\Contact\\AccidentReportReceipt\:\:\$report type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Contact/AccidentReportReceipt.php + + - + message: '#^Method App\\Mail\\Contact\\Booking\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Contact/Booking.php + + - + message: '#^Property App\\Mail\\Contact\\Booking\:\:\$booking type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Contact/Booking.php + + - + message: '#^Method App\\Mail\\Contact\\BookingReceipt\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Contact/BookingReceipt.php + + - + message: '#^Property App\\Mail\\Contact\\BookingReceipt\:\:\$booking type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Contact/BookingReceipt.php + + - + message: '#^Method App\\Mail\\Contact\\Enquiry\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Contact/Enquiry.php + + - + message: '#^Property App\\Mail\\Contact\\Enquiry\:\:\$enquiry type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Contact/Enquiry.php + + - + message: '#^Method App\\Mail\\Contact\\EnquiryReceipt\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Contact/EnquiryReceipt.php + + - + message: '#^Property App\\Mail\\Contact\\EnquiryReceipt\:\:\$enquiry type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Contact/EnquiryReceipt.php + + - + message: '#^Method App\\Mail\\Contact\\Feedback\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Contact/Feedback.php + + - + message: '#^Property App\\Mail\\Contact\\Feedback\:\:\$feedback type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Contact/Feedback.php + + - + message: '#^Method App\\Mail\\Contact\\NearMissReport\:\:build\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Mail/Contact/NearMissReport.php + + - + message: '#^Property App\\Mail\\Contact\\NearMissReport\:\:\$report type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Contact/NearMissReport.php + + - + message: '#^Method App\\Mail\\Equipment\\Breakage\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Equipment/Breakage.php + + - + message: '#^Property App\\Mail\\Equipment\\Breakage\:\:\$breakage type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Equipment/Breakage.php + + - + message: '#^Cannot access property \$name on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Mail/Events/AcceptedExternal.php + + - + message: '#^Property App\\Mail\\Events\\AcceptedExternal\:\:\$data type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Events/AcceptedExternal.php + + - + message: '#^Cannot access property \$name on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Mail/Events/CrewEmail.php + + - + message: '#^Property App\\Mail\\Events\\CrewEmail\:\:\$data type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Events/CrewEmail.php + + - + message: '#^Cannot access property \$forename on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Mail/Events/FinanceEmail.php + + - + message: '#^Parameter \#1 \$view of method Illuminate\\Mail\\Mailable\:\:markdown\(\) expects view\-string, string given\.$#' + identifier: argument.type + count: 1 + path: app/Mail/Events/FinanceEmail.php + + - + message: '#^Property App\\Mail\\Events\\FinanceEmail\:\:\$data type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Events/FinanceEmail.php + + - + message: '#^Cannot access property \$email on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Mail/Training/Skills/ApplicationProcessed.php + + - + message: '#^Cannot access property \$forename on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Mail/Training/Skills/ApplicationProcessed.php + + - + message: '#^Cannot access property \$name on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 3 + path: app/Mail/Training/Skills/ApplicationProcessed.php + + - + message: '#^Property App\\Mail\\Training\\Skills\\ApplicationProcessed\:\:\$application type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Training/Skills/ApplicationProcessed.php + + - + message: '#^Property App\\Mail\\Training\\Skills\\ApplicationSubmitted\:\:\$application type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Training/Skills/ApplicationSubmitted.php + + - + message: '#^Method App\\Mail\\Users\\AccountCreated\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Users/AccountCreated.php + + - + message: '#^Parameter \#1 \$view of method Illuminate\\Mail\\Mailable\:\:markdown\(\) expects view\-string, string given\.$#' + identifier: argument.type + count: 1 + path: app/Mail/Users/AccountCreated.php + + - + message: '#^Property App\\Mail\\Users\\AccountCreated\:\:\$user type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/Users/AccountCreated.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:approved\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Call to function is_array\(\) with array\{mixed\} will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 2 + path: app/Models/Awards/Award.php + + - + message: '#^Method App\\Models\\Awards\\Award\:\:approvedSeasonNominations\(\) has parameter \$seasonId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Method App\\Models\\Awards\\Award\:\:getApprovedNominations\(\) has parameter \$seasonId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Method App\\Models\\Awards\\Award\:\:getValidationMessages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Method App\\Models\\Awards\\Award\:\:getValidationRules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Method App\\Models\\Awards\\Award\:\:hasApprovedNominations\(\) has parameter \$seasonId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Method App\\Models\\Awards\\Award\:\:nominations\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Method App\\Models\\Awards\\Award\:\:scopeApproved\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Method App\\Models\\Awards\\Award\:\:scopeApproved\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Method App\\Models\\Awards\\Award\:\:scopeSuggested\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Method App\\Models\\Awards\\Award\:\:scopeSuggested\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Method App\\Models\\Awards\\Award\:\:suggestor\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Method App\\Models\\Awards\\Award\:\:votes\(\) should return \$this\(App\\Models\\Awards\\Award\) but returns Illuminate\\Database\\Eloquent\\Builder\\.$#' + identifier: return.type + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^PHPDoc type array of property App\\Models\\Awards\\Award\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Parameter \#3 \$length of function substr expects int\|null, int\<0, max\>\|false given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Property App\\Models\\Awards\\Award\:\:\$ValidationMessages type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Property App\\Models\\Awards\\Award\:\:\$ValidationRules type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Property App\\Models\\Awards\\Award\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Static property App\\Models\\Awards\\Award\:\:\$ValidationMessages \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Static property App\\Models\\Awards\\Award\:\:\$ValidationRules \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Awards/Award.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:byUser\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/Awards/Nomination.php + + - + message: '#^Method App\\Models\\Awards\\Nomination\:\:award\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Nomination.php + + - + message: '#^Method App\\Models\\Awards\\Nomination\:\:scopeApproved\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Nomination.php + + - + message: '#^Method App\\Models\\Awards\\Nomination\:\:scopeOrdered\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Nomination.php + + - + message: '#^Method App\\Models\\Awards\\Nomination\:\:season\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Nomination.php + + - + message: '#^Method App\\Models\\Awards\\Nomination\:\:suggestor\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Nomination.php + + - + message: '#^Method App\\Models\\Awards\\Nomination\:\:votes\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Nomination.php + + - + message: '#^PHPDoc type array of property App\\Models\\Awards\\Nomination\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Awards/Nomination.php + + - + message: '#^Property App\\Models\\Awards\\Nomination\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Nomination.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$award_id\.$#' + identifier: property.notFound + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 4 + path: app/Models/Awards/Season.php + + - + message: '#^Argument of an invalid type Illuminate\\Database\\Eloquent\\Collection\\|null supplied for foreach, only iterables are supported\.$#' + identifier: foreach.nonIterable + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Call to function is_array\(\) with array\{mixed\} will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 2 + path: app/Models/Awards/Season.php + + - + message: '#^Method App\\Models\\Awards\\Season\:\:attributesToCorrect\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Method App\\Models\\Awards\\Season\:\:awards\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsToMany does not specify its types\: TRelatedModel, TDeclaringModel, TPivotModel, TAccessor \(2\-4 required\)$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Method App\\Models\\Awards\\Season\:\:convertAttributeFromDatabase\(\) has parameter \$attributeName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Method App\\Models\\Awards\\Season\:\:getAwardsAttribute\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Method App\\Models\\Awards\\Season\:\:getValidationMessages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Method App\\Models\\Awards\\Season\:\:getValidationRules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Method App\\Models\\Awards\\Season\:\:newFromBuilder\(\) has parameter \$attributes with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Method App\\Models\\Awards\\Season\:\:nominations\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Method App\\Models\\Awards\\Season\:\:shouldCorrectTimezone\(\) has parameter \$attributeName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Method App\\Models\\Awards\\Season\:\:traitValidationRules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Method App\\Models\\Awards\\Season\:\:uncorrected\(\) has parameter \$attributeName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^PHPDoc type array of property App\\Models\\Awards\\Season\:\:\$appends is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$appends\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^PHPDoc type array of property App\\Models\\Awards\\Season\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Parameter \#1 \$callback of function call_user_func_array expects callable\(\)\: mixed, ''self\:…'' given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Parameter \#1 \.\.\.\$arg1 of function max expects non\-empty\-array, array\ given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Parameter \#3 \$length of function substr expects int\|null, int\<0, max\>\|false given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Property ''awards'' does not exist in model\.$#' + identifier: rules.modelAppends + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Property App\\Models\\Awards\\Season\:\:\$ValidationMessages type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Property App\\Models\\Awards\\Season\:\:\$ValidationRules type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Property App\\Models\\Awards\\Season\:\:\$appends type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Property App\\Models\\Awards\\Season\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Static property App\\Models\\Awards\\Season\:\:\$ValidationMessages \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Static property App\\Models\\Awards\\Season\:\:\$ValidationRules \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Strict comparison using \!\=\= between null and null will always evaluate to false\.$#' + identifier: notIdentical.alwaysFalse + count: 2 + path: app/Models/Awards/Season.php + + - + message: '#^Unable to resolve the template type TGroupKey in call to method Illuminate\\Support\\Collection\\:\:groupBy\(\)$#' + identifier: argument.templateType + count: 1 + path: app/Models/Awards/Season.php + + - + message: '#^Method App\\Models\\Awards\\Vote\:\:nomination\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Vote.php + + - + message: '#^Method App\\Models\\Awards\\Vote\:\:scopeByUser\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Vote.php + + - + message: '#^Method App\\Models\\Awards\\Vote\:\:scopeForSeason\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Vote.php + + - + message: '#^Method App\\Models\\Awards\\Vote\:\:season\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Vote.php + + - + message: '#^Method App\\Models\\Awards\\Vote\:\:user\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Awards/Vote.php + + - + message: '#^PHPDoc type array of property App\\Models\\Awards\\Vote\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Awards/Vote.php + + - + message: '#^Property App\\Models\\Awards\\Vote\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Awards/Vote.php + + - + message: '#^Call to an undefined method App\\Models\\Users\\User\|Illuminate\\Database\\Eloquent\\Collection\\:\:isCommittee\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Models/Committee/Role.php + + - + message: '#^Call to an undefined method App\\Models\\Users\\User\|Illuminate\\Database\\Eloquent\\Collection\\:\:makeCommittee\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/Committee/Role.php + + - + message: '#^Call to an undefined method App\\Models\\Users\\User\|Illuminate\\Database\\Eloquent\\Collection\\:\:makeMember\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/Committee/Role.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Models/Committee/Role.php + + - + message: '#^Method App\\Models\\Committee\\Role\:\:setOrderAttribute\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Committee/Role.php + + - + message: '#^Method App\\Models\\Committee\\Role\:\:setOrderAttribute\(\) has parameter \$newOrder with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Committee/Role.php + + - + message: '#^Method App\\Models\\Committee\\Role\:\:setUserIdAttribute\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Committee/Role.php + + - + message: '#^Method App\\Models\\Committee\\Role\:\:setUserIdAttribute\(\) has parameter \$newUserId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Committee/Role.php + + - + message: '#^Method App\\Models\\Committee\\Role\:\:user\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Committee/Role.php + + - + message: '#^PHPDoc type array of property App\\Models\\Committee\\Role\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Committee/Role.php + + - + message: '#^Property App\\Models\\Committee\\Role\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Committee/Role.php + + - + message: '#^Access to an undefined property object\:\:\$original\.$#' + identifier: property.notFound + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Call to an undefined method object\:\:asDateTime\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Call to an undefined method object\:\:getDateFormat\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Models/Elections/Election.php + + - + message: '#^Cannot call method can\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 2 + path: app/Models/Elections/Election.php + + - + message: '#^Cannot call method format\(\) on Carbon\\Carbon\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Method App\\Models\\Elections\\Election\:\:attributesToCorrect\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Method App\\Models\\Elections\\Election\:\:convertAttributeFromDatabase\(\) has parameter \$attributeName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Method App\\Models\\Elections\\Election\:\:getNominations\(\) has invalid return type App\\Collection\.$#' + identifier: class.notFound + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Method App\\Models\\Elections\\Election\:\:getNominations\(\) has parameter \$positionIndex with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Method App\\Models\\Elections\\Election\:\:getNominations\(\) should return App\\Collection but returns Illuminate\\Database\\Eloquent\\Collection\\.$#' + identifier: return.type + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Method App\\Models\\Elections\\Election\:\:getPosition\(\) has parameter \$index with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Method App\\Models\\Elections\\Election\:\:getPositionSlug\(\) has parameter \$index with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Method App\\Models\\Elections\\Election\:\:getPositionSlug\(\) should return string but returns string\|null\.$#' + identifier: return.type + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Method App\\Models\\Elections\\Election\:\:getPositionsAttribute\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Method App\\Models\\Elections\\Election\:\:newFromBuilder\(\) has parameter \$attributes with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Method App\\Models\\Elections\\Election\:\:nominations\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Method App\\Models\\Elections\\Election\:\:setPositionsAttribute\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Method App\\Models\\Elections\\Election\:\:setPositionsAttribute\(\) has parameter \$positions with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Method App\\Models\\Elections\\Election\:\:shouldCorrectTimezone\(\) has parameter \$attributeName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Method App\\Models\\Elections\\Election\:\:uncorrected\(\) has parameter \$attributeName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^PHPDoc type array of property App\\Models\\Elections\\Election\:\:\$casts is not covariant with PHPDoc type array\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$casts\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^PHPDoc type array of property App\\Models\\Elections\\Election\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Property App\\Models\\Elections\\Election\:\:\$Types type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Property App\\Models\\Elections\\Election\:\:\$casts type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Property App\\Models\\Elections\\Election\:\:\$correct_tz \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Property App\\Models\\Elections\\Election\:\:\$correct_tz type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Property App\\Models\\Elections\\Election\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Right side of && is always true\.$#' + identifier: booleanAnd.rightAlwaysTrue + count: 1 + path: app/Models/Elections/Election.php + + - + message: '#^Strict comparison using \!\=\= between null and null will always evaluate to false\.$#' + identifier: notIdentical.alwaysFalse + count: 2 + path: app/Models/Elections/Election.php + + - + message: '#^Cannot call method getManifestoPath\(\) on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Models/Elections/Nomination.php + + - + message: '#^Method App\\Models\\Elections\\Nomination\:\:election\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Elections/Nomination.php + + - + message: '#^Method App\\Models\\Elections\\Nomination\:\:getManifestoName\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Elections/Nomination.php + + - + message: '#^Method App\\Models\\Elections\\Nomination\:\:user\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Elections/Nomination.php + + - + message: '#^PHPDoc type array of property App\\Models\\Elections\\Nomination\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Elections/Nomination.php + + - + message: '#^Property App\\Models\\Elections\\Nomination\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Elections/Nomination.php + + - + message: '#^Method App\\Models\\Equipment\\Breakage\:\:images\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Equipment/Breakage.php + + - + message: '#^Method App\\Models\\Equipment\\Breakage\:\:saveImage\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Equipment/Breakage.php + + - + message: '#^Method App\\Models\\Equipment\\Breakage\:\:saveImage\(\) has parameter \$image with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Equipment/Breakage.php + + - + message: '#^Method App\\Models\\Equipment\\Breakage\:\:saveImage\(\) has parameter \$imageRow with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Equipment/Breakage.php + + - + message: '#^Method App\\Models\\Equipment\\Breakage\:\:user\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Equipment/Breakage.php + + - + message: '#^Property App\\Models\\Equipment\\Breakage\:\:\$Status type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Equipment/Breakage.php + + - + message: '#^Method App\\Models\\Equipment\\BreakageImage\:\:report\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Equipment/BreakageImage.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\:\:member\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Models/Events/Crew.php + + - + message: '#^Call to function is_array\(\) with array\{mixed\} will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 2 + path: app/Models/Events/Crew.php + + - + message: '#^Cannot access property \$name on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:alreadyJoined\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:event\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:getCoreAttribute\(\) should return bool but returns int\.$#' + identifier: return.type + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:getValidationMessages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:getValidationRules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:scopeCore\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:scopeCore\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:scopeEm\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:scopeEm\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:scopeForUser\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:scopeForUser\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:scopeGeneral\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:scopeGeneral\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:scopeGuest\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:scopeGuest\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:scopeMember\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:scopeMember\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:scopeOrder\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:scopeOrder\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Method App\\Models\\Events\\Crew\:\:user\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^PHPDoc type array of property App\\Models\\Events\\Crew\:\:\$appends is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$appends\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^PHPDoc type array of property App\\Models\\Events\\Crew\:\:\$casts is not covariant with PHPDoc type array\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$casts\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^PHPDoc type array of property App\\Models\\Events\\Crew\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^PHPDoc type array of property App\\Models\\Events\\Crew\:\:\$visible is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$visible\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Parameter \#3 \$length of function substr expects int\|null, int\<0, max\>\|false given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Property App\\Models\\Events\\Crew\:\:\$ValidationMessages type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Property App\\Models\\Events\\Crew\:\:\$ValidationRules type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Property App\\Models\\Events\\Crew\:\:\$appends type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Property App\\Models\\Events\\Crew\:\:\$casts type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Property App\\Models\\Events\\Crew\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Property App\\Models\\Events\\Crew\:\:\$visible type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Static property App\\Models\\Events\\Crew\:\:\$ValidationMessages \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Static property App\\Models\\Events\\Crew\:\:\$ValidationRules \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Events/Crew.php + + - + message: '#^Access to an undefined property object\:\:\$original\.$#' + identifier: property.notFound + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Call to an undefined method object\:\:asDateTime\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Call to an undefined method object\:\:getDateFormat\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Models/Events/Email.php + + - + message: '#^Call to function is_array\(\) with array\{mixed\} will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 2 + path: app/Models/Events/Email.php + + - + message: '#^Cannot access property \$id on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Cannot call method crew\(\) on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Cannot call method format\(\) on Carbon\\Carbon\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Method App\\Models\\Events\\Email\:\:attributesToCorrect\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Method App\\Models\\Events\\Email\:\:convertAttributeFromDatabase\(\) has parameter \$attributeName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Method App\\Models\\Events\\Email\:\:event\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Method App\\Models\\Events\\Email\:\:getValidationMessages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Method App\\Models\\Events\\Email\:\:getValidationRules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Method App\\Models\\Events\\Email\:\:newFromBuilder\(\) has parameter \$attributes with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Method App\\Models\\Events\\Email\:\:sender\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Method App\\Models\\Events\\Email\:\:shouldCorrectTimezone\(\) has parameter \$attributeName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Method App\\Models\\Events\\Email\:\:uncorrected\(\) has parameter \$attributeName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^PHPDoc type array of property App\\Models\\Events\\Email\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Parameter \#3 \$length of function substr expects int\|null, int\<0, max\>\|false given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Property App\\Models\\Events\\Email\:\:\$ValidationMessages type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Property App\\Models\\Events\\Email\:\:\$ValidationRules type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Property App\\Models\\Events\\Email\:\:\$correct_tz \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Property App\\Models\\Events\\Email\:\:\$correct_tz type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Property App\\Models\\Events\\Email\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Right side of && is always true\.$#' + identifier: booleanAnd.rightAlwaysTrue + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Static property App\\Models\\Events\\Email\:\:\$ValidationMessages \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Static property App\\Models\\Events\\Email\:\:\$ValidationRules \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Events/Email.php + + - + message: '#^Strict comparison using \!\=\= between null and null will always evaluate to false\.$#' + identifier: notIdentical.alwaysFalse + count: 2 + path: app/Models/Events/Email.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$user\.$#' + identifier: property.notFound + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:isGuest\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:core\(\)\.$#' + identifier: method.notFound + count: 3 + path: app/Models/Events/Event.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:em\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:general\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Models/Events/Event.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:guest\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Models/Events/Event.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:member\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Call to function is_array\(\) with array\{mixed\} will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 2 + path: app/Models/Events/Event.php + + - + message: '#^Call to function is_null\(\) with null will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Cannot access property \$email on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Cannot access property \$end on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Cannot access property \$name on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Cannot access property \$start on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Cannot call method format\(\) on Carbon\\Carbon\|null\.$#' + identifier: method.nonObject + count: 2 + path: app/Models/Events/Event.php + + - + message: '#^Deprecated in PHP 8\.4\: Parameter \#1 \$user \(App\\Models\\Users\\User\) is implicitly nullable via default value null\.$#' + identifier: parameter.implicitlyNullable + count: 3 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:addToFinanceDb\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:alreadyJoined\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:crew\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:em\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:getCoreCrewAttribute\(\) return type with generic class Illuminate\\Database\\Eloquent\\Collection does not specify its types\: TKey, TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:getCrewAttribute\(\) return type with generic class Illuminate\\Database\\Eloquent\\Collection does not specify its types\: TKey, TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:getCrewMailingListAttribute\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:getGeneralCrewAttribute\(\) return type with generic class Illuminate\\Database\\Eloquent\\Collection does not specify its types\: TKey, TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:getGuestsAttribute\(\) return type with generic class Illuminate\\Database\\Eloquent\\Collection does not specify its types\: TKey, TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:getGuestsAttribute\(\) should return Illuminate\\Database\\Eloquent\\Collection but returns array\.$#' + identifier: return.type + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:getPrettyProductionChargeAttribute\(\) should return string but returns null\.$#' + identifier: return.type + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:getProductionChargeAttribute\(\) has parameter \$charge with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:getReportPrefillAttribute\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:getValidationMessages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:getValidationRules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:joinEventCrew\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:joinEventCrew\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:joinEventTimes\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:joinEventTimes\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopeDistinctPaginate\(\) has parameter \$columns with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopeDistinctPaginate\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopeDistinctPaginate\(\) return type with generic class Illuminate\\Pagination\\LengthAwarePaginator does not specify its types\: TKey, TValue$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopeFuture\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopeNewestFirst\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopeNewestFirst\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopeOldestFirst\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopeOldestFirst\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopeOnDate\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopeOnDate\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopePast\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopePast\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopeType\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopeType\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopeType\(\) has parameter \$type with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopeUserOnCrew\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:scopeUserOnCrew\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:setEmIdAttribute\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:setEmIdAttribute\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:setPaperwork\(\) has parameter \$key with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:setPaperwork\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:setProductionChargeAttribute\(\) has parameter \$charge with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:setProductionChargeAttribute\(\) should return null but return statement is missing\.$#' + identifier: return.missing + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:times\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Method App\\Models\\Events\\Event\:\:traitValidationRules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^PHPDoc type array of property App\\Models\\Events\\Event\:\:\$casts is not covariant with PHPDoc type array\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$casts\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^PHPDoc type array of property App\\Models\\Events\\Event\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Parameter \#1 \$callback of function call_user_func_array expects callable\(\)\: mixed, ''self\:…'' given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Parameter \#1 \$key of method App\\Models\\Events\\Event\:\:countCrew\(\) expects null, string given\.$#' + identifier: argument.type + count: 2 + path: app/Models/Events/Event.php + + - + message: '#^Parameter \#2 \$value of method Illuminate\\Support\\Collection\<\(int\|string\),Illuminate\\Database\\Eloquent\\Model\>\:\:put\(\) expects Illuminate\\Database\\Eloquent\\Model, Illuminate\\Database\\Eloquent\\Collection given\.$#' + identifier: argument.type + count: 2 + path: app/Models/Events/Event.php + + - + message: '#^Parameter \#3 \$length of function substr expects int\|null, int\<0, max\>\|false given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Parameter \#3 \$value of function curl_setopt expects bool, int given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Property App\\Models\\Events\\Event\:\:\$Clients type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Property App\\Models\\Events\\Event\:\:\$CrewListStatus type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Property App\\Models\\Events\\Event\:\:\$Paperwork type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Property App\\Models\\Events\\Event\:\:\$TypeClasses type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Property App\\Models\\Events\\Event\:\:\$Types type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Property App\\Models\\Events\\Event\:\:\$TypesShort type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Property App\\Models\\Events\\Event\:\:\$ValidationMessages type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Property App\\Models\\Events\\Event\:\:\$ValidationRules type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Property App\\Models\\Events\\Event\:\:\$VenueTypes type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Property App\\Models\\Events\\Event\:\:\$casts type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Property App\\Models\\Events\\Event\:\:\$crewListCount type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Property App\\Models\\Events\\Event\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Result of \|\| is always true\.$#' + identifier: booleanOr.alwaysTrue + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Static property App\\Models\\Events\\Event\:\:\$ValidationMessages \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Static property App\\Models\\Events\\Event\:\:\$ValidationRules \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Strict comparison using \=\=\= between null and null will always evaluate to true\.$#' + identifier: identical.alwaysTrue + count: 2 + path: app/Models/Events/Event.php + + - + message: '#^Unreachable statement \- code above always terminates\.$#' + identifier: deadCode.unreachable + count: 1 + path: app/Models/Events/Event.php + + - + message: '#^Access to an undefined property object\:\:\$original\.$#' + identifier: property.notFound + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Call to an undefined method object\:\:asDateTime\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Call to an undefined method object\:\:getDateFormat\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Models/Events/Time.php + + - + message: '#^Call to function is_array\(\) with array\{mixed\} will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 2 + path: app/Models/Events/Time.php + + - + message: '#^Cannot call method format\(\) on Carbon\\Carbon\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Method App\\Models\\Events\\Time\:\:attributesToCorrect\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Method App\\Models\\Events\\Time\:\:convertAttributeFromDatabase\(\) has parameter \$attributeName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Method App\\Models\\Events\\Time\:\:event\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Method App\\Models\\Events\\Time\:\:getValidationMessages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Method App\\Models\\Events\\Time\:\:getValidationRules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Method App\\Models\\Events\\Time\:\:newFromBuilder\(\) has parameter \$attributes with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Method App\\Models\\Events\\Time\:\:shouldCorrectTimezone\(\) has parameter \$attributeName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Method App\\Models\\Events\\Time\:\:uncorrected\(\) has parameter \$attributeName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^PHPDoc type array of property App\\Models\\Events\\Time\:\:\$casts is not covariant with PHPDoc type array\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$casts\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^PHPDoc type array of property App\\Models\\Events\\Time\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^PHPDoc type array of property App\\Models\\Events\\Time\:\:\$visible is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$visible\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Parameter \#3 \$length of function substr expects int\|null, int\<0, max\>\|false given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Property App\\Models\\Events\\Time\:\:\$ValidationMessages type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Property App\\Models\\Events\\Time\:\:\$ValidationRules type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Property App\\Models\\Events\\Time\:\:\$casts type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Property App\\Models\\Events\\Time\:\:\$correct_tz \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Property App\\Models\\Events\\Time\:\:\$correct_tz type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Property App\\Models\\Events\\Time\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Property App\\Models\\Events\\Time\:\:\$visible type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Right side of && is always true\.$#' + identifier: booleanAnd.rightAlwaysTrue + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Static property App\\Models\\Events\\Time\:\:\$ValidationMessages \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Static property App\\Models\\Events\\Time\:\:\$ValidationRules \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Events/Time.php + + - + message: '#^Strict comparison using \!\=\= between null and null will always evaluate to false\.$#' + identifier: notIdentical.alwaysFalse + count: 2 + path: app/Models/Events/Time.php + + - + message: '#^Access to an undefined property object\:\:\$original\.$#' + identifier: property.notFound + count: 1 + path: app/Models/Log.php + + - + message: '#^Call to an undefined method object\:\:asDateTime\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/Log.php + + - + message: '#^Call to an undefined method object\:\:getDateFormat\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Models/Log.php + + - + message: '#^Cannot call method format\(\) on Carbon\\Carbon\|null\.$#' + identifier: method.nonObject + count: 3 + path: app/Models/Log.php + + - + message: '#^Method App\\Models\\Log\:\:attributesToCorrect\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Log.php + + - + message: '#^Method App\\Models\\Log\:\:convertAttributeFromDatabase\(\) has parameter \$attributeName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Log.php + + - + message: '#^Method App\\Models\\Log\:\:newFromBuilder\(\) has parameter \$attributes with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Log.php + + - + message: '#^Method App\\Models\\Log\:\:shouldCorrectTimezone\(\) has parameter \$attributeName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Log.php + + - + message: '#^Method App\\Models\\Log\:\:uncorrected\(\) has parameter \$attributeName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Log.php + + - + message: '#^Method App\\Models\\Log\:\:user\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Log.php + + - + message: '#^Property App\\Models\\Log\:\:\$correct_tz has no type specified\.$#' + identifier: missingType.property + count: 1 + path: app/Models/Log.php + + - + message: '#^Strict comparison using \!\=\= between null and null will always evaluate to false\.$#' + identifier: notIdentical.alwaysFalse + count: 2 + path: app/Models/Log.php + + - + message: '#^Method App\\Models\\Media\\Video\:\:__get\(\) has parameter \$attribute with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Media/Video.php + + - + message: '#^Method App\\Models\\Media\\Video\:\:find\(\) has parameter \$videoId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Media/Video.php + + - + message: '#^Property App\\Models\\Media\\Video\:\:\$SupportedKind type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Media/Video.php + + - + message: '#^Property App\\Models\\Media\\Video\:\:\$tags type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Media/Video.php + + - + message: '#^Strict comparison using \=\=\= between stdClass and false will always evaluate to false\.$#' + identifier: identical.alwaysFalse + count: 1 + path: app/Models/Media/Video.php + + - + message: '#^Unsafe usage of new static\(\)\.$#' + identifier: new.static + count: 1 + path: app/Models/Media/Video.php + + - + message: '#^Method App\\Models\\Quote\:\:__construct\(\) has parameter \$attributes with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Quote.php + + - + message: '#^Method App\\Models\\Quote\:\:creator\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Quote.php + + - + message: '#^Method App\\Models\\Quote\:\:getHtmlAttribute\(\) should return string but returns list\\|string\.$#' + identifier: return.type + count: 1 + path: app/Models/Quote.php + + - + message: '#^PHPDoc type array of property App\\Models\\Quote\:\:\$casts is not covariant with PHPDoc type array\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$casts\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Quote.php + + - + message: '#^PHPDoc type array of property App\\Models\\Quote\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Quote.php + + - + message: '#^Property App\\Models\\Quote\:\:\$casts type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Quote.php + + - + message: '#^Property App\\Models\\Quote\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Quote.php + + - + message: '#^Call to function is_array\(\) with array\{mixed\} will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 2 + path: app/Models/Resources/Category.php + + - + message: '#^Constant App\\Models\\Resources\\Category\:\:FLAGS type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Category.php + + - + message: '#^Method App\\Models\\Resources\\Category\:\:getValidationMessages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Category.php + + - + message: '#^Method App\\Models\\Resources\\Category\:\:getValidationRules\(\) has parameter \$args with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Category.php + + - + message: '#^Method App\\Models\\Resources\\Category\:\:resources\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Resources/Category.php + + - + message: '#^Method App\\Models\\Resources\\Category\:\:setFlagAttribute\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Resources/Category.php + + - + message: '#^Method App\\Models\\Resources\\Category\:\:setFlagAttribute\(\) has parameter \$flag with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Resources/Category.php + + - + message: '#^Method App\\Models\\Resources\\Category\:\:traitValidationRules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Category.php + + - + message: '#^PHPDoc type array of property App\\Models\\Resources\\Category\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Resources/Category.php + + - + message: '#^Parameter \#3 \$length of function substr expects int\|null, int\<0, max\>\|false given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Resources/Category.php + + - + message: '#^Property App\\Models\\Resources\\Category\:\:\$ValidationMessages type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Category.php + + - + message: '#^Property App\\Models\\Resources\\Category\:\:\$ValidationRules type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Category.php + + - + message: '#^Property App\\Models\\Resources\\Category\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Category.php + + - + message: '#^Static property App\\Models\\Resources\\Category\:\:\$ValidationMessages \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Resources/Category.php + + - + message: '#^Static property App\\Models\\Resources\\Category\:\:\$ValidationRules \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Resources/Category.php + + - + message: '#^Cannot call method getPath\(\) on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Models/Resources/Issue.php + + - + message: '#^Cannot call method isFile\(\) on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Models/Resources/Issue.php + + - + message: '#^Method App\\Models\\Resources\\Issue\:\:author\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Resources/Issue.php + + - + message: '#^Method App\\Models\\Resources\\Issue\:\:resource\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Resources/Issue.php + + - + message: '#^PHPDoc type array of property App\\Models\\Resources\\Issue\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Resources/Issue.php + + - + message: '#^Property App\\Models\\Resources\\Issue\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Issue.php + + - + message: '#^Access to an undefined property App\\Models\\Resources\\Resource\:\:\$issue\.$#' + identifier: property.notFound + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Access to an undefined property App\\Models\\Resources\\Resource\:\:\$type\.$#' + identifier: property.notFound + count: 2 + path: app/Models/Resources/Resource.php + + - + message: '#^Access to an undefined property object\:\:\$slug\.$#' + identifier: property.notFound + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Cannot access property \$flag on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 4 + path: app/Models/Resources/Resource.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Cannot access property \$name on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Constant App\\Models\\Resources\\Resource\:\:ACCESS type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Constant App\\Models\\Resources\\Resource\:\:TYPES type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Deprecated in PHP 8\.4\: Parameter \#1 \$user \(App\\Models\\Users\\User\) is implicitly nullable via default value null\.$#' + identifier: parameter.implicitlyNullable + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Deprecated in PHP 8\.4\: Parameter \#2 \$user \(App\\Models\\Users\\User\) is implicitly nullable via default value null\.$#' + identifier: parameter.implicitlyNullable + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:category\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:download\(\) should return Illuminate\\Http\\Response but return statement is missing\.$#' + identifier: return.missing + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:download\(\) should return Illuminate\\Http\\Response but returns Symfony\\Component\\HttpFoundation\\BinaryFileResponse\.$#' + identifier: return.type + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:download\(\) should return Illuminate\\Http\\Response but returns string\.$#' + identifier: return.type + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:event\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:getAuthorAttribute\(\) should return App\\Models\\Users\\User but returns Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: return.type + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:getHeaders\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:issue\(\) should return App\\Models\\Resources\\Issue but returns App\\Models\\Resources\\Issue\|null\.$#' + identifier: return.type + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:sanitised\(\) should return string but returns string\|null\.$#' + identifier: return.type + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:scopeAccessible\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:scopeInCategory\(\) has parameter \$category with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:scopeInCategory\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:scopeSearch\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:scopeSearch\(\) has parameter \$searchTerm with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:scopeWithTags\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:scopeWithTags\(\) has parameter \$tags with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:stream\(\) should return Illuminate\\Http\\Response but returns string\.$#' + identifier: return.type + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Method App\\Models\\Resources\\Resource\:\:tags\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsToMany does not specify its types\: TRelatedModel, TDeclaringModel, TPivotModel, TAccessor \(2\-4 required\)$#' + identifier: missingType.generics + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^PHPDoc type array of property App\\Models\\Resources\\Resource\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Parameter \#1 \$content of function response expects array\|Illuminate\\Contracts\\View\\View\|string\|null, string\|false given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, list\\|string\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Property App\\Models\\Resources\\Resource\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Strict comparison using \=\=\= between null and null will always evaluate to true\.$#' + identifier: identical.alwaysTrue + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Ternary operator condition is always true\.$#' + identifier: ternary.alwaysTrue + count: 1 + path: app/Models/Resources/Resource.php + + - + message: '#^Call to function is_array\(\) with array\{mixed\} will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 2 + path: app/Models/Resources/Tag.php + + - + message: '#^Method App\\Models\\Resources\\Tag\:\:getValidationMessages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Tag.php + + - + message: '#^Method App\\Models\\Resources\\Tag\:\:getValidationRules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Tag.php + + - + message: '#^Method App\\Models\\Resources\\Tag\:\:resources\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsToMany does not specify its types\: TRelatedModel, TDeclaringModel, TPivotModel, TAccessor \(2\-4 required\)$#' + identifier: missingType.generics + count: 1 + path: app/Models/Resources/Tag.php + + - + message: '#^PHPDoc type array of property App\\Models\\Resources\\Tag\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Resources/Tag.php + + - + message: '#^Parameter \#3 \$length of function substr expects int\|null, int\<0, max\>\|false given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Resources/Tag.php + + - + message: '#^Property App\\Models\\Resources\\Tag\:\:\$ValidationMessages type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Tag.php + + - + message: '#^Property App\\Models\\Resources\\Tag\:\:\$ValidationRules type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Tag.php + + - + message: '#^Property App\\Models\\Resources\\Tag\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Resources/Tag.php + + - + message: '#^Static property App\\Models\\Resources\\Tag\:\:\$ValidationMessages \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Resources/Tag.php + + - + message: '#^Static property App\\Models\\Resources\\Tag\:\:\$ValidationRules \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Resources/Tag.php + + - + message: '#^Method App\\Models\\Training\\Category\:\:skills\(\) should return \$this\(App\\Models\\Training\\Category\) but returns Illuminate\\Database\\Eloquent\\Relations\\HasMany\\.$#' + identifier: return.type + count: 1 + path: app/Models/Training/Category.php + + - + message: '#^PHPDoc type array of property App\\Models\\Training\\Category\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Training/Category.php + + - + message: '#^Property App\\Models\\Training\\Category\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Training/Category.php + + - + message: '#^Method App\\Models\\Training\\Skills\\Application\:\:awarder\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Training/Skills/Application.php + + - + message: '#^Method App\\Models\\Training\\Skills\\Application\:\:scopeAwarded\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Training/Skills/Application.php + + - + message: '#^Method App\\Models\\Training\\Skills\\Application\:\:scopeAwarded\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Training/Skills/Application.php + + - + message: '#^Method App\\Models\\Training\\Skills\\Application\:\:scopeNotAwarded\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Training/Skills/Application.php + + - + message: '#^Method App\\Models\\Training\\Skills\\Application\:\:scopeNotAwarded\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Training/Skills/Application.php + + - + message: '#^Method App\\Models\\Training\\Skills\\Application\:\:skill\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Training/Skills/Application.php + + - + message: '#^Method App\\Models\\Training\\Skills\\Application\:\:user\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Training/Skills/Application.php + + - + message: '#^PHPDoc type array of property App\\Models\\Training\\Skills\\Application\:\:\$casts is not covariant with PHPDoc type array\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$casts\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Training/Skills/Application.php + + - + message: '#^PHPDoc type array of property App\\Models\\Training\\Skills\\Application\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Training/Skills/Application.php + + - + message: '#^Property App\\Models\\Training\\Skills\\Application\:\:\$casts type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Training/Skills/Application.php + + - + message: '#^Property App\\Models\\Training\\Skills\\Application\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Training/Skills/Application.php + + - + message: '#^Cannot access property \$category on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Models/Training/Skills/AwardedSkill.php + + - + message: '#^Method App\\Models\\Training\\Skills\\AwardedSkill\:\:awarder\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Training/Skills/AwardedSkill.php + + - + message: '#^Method App\\Models\\Training\\Skills\\AwardedSkill\:\:skill\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Training/Skills/AwardedSkill.php + + - + message: '#^Method App\\Models\\Training\\Skills\\AwardedSkill\:\:user\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Training/Skills/AwardedSkill.php + + - + message: '#^PHPDoc type array of property App\\Models\\Training\\Skills\\AwardedSkill\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Training/Skills/AwardedSkill.php + + - + message: '#^Property App\\Models\\Training\\Skills\\AwardedSkill\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Training/Skills/AwardedSkill.php + + - + message: '#^Access to an undefined property App\\Models\\Users\\User\:\:\$level\.$#' + identifier: property.notFound + count: 1 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^Call to function is_array\(\) with array\{mixed\} will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 2 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^Cannot access property \$name on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^Constant App\\Models\\Training\\Skills\\Skill\:\:LEVEL_NAMES type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^Method App\\Models\\Training\\Skills\\Skill\:\:category\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^Method App\\Models\\Training\\Skills\\Skill\:\:getAvailableAttribute\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^Method App\\Models\\Training\\Skills\\Skill\:\:getValidationMessages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^Method App\\Models\\Training\\Skills\\Skill\:\:getValidationRules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^Method App\\Models\\Training\\Skills\\Skill\:\:isLevelAvailable\(\) has parameter \$level with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^PHPDoc type array of property App\\Models\\Training\\Skills\\Skill\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^Parameter \#3 \$length of function substr expects int\|null, int\<0, max\>\|false given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^Property App\\Models\\Training\\Skills\\Skill\:\:\$ValidationMessages type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^Property App\\Models\\Training\\Skills\\Skill\:\:\$ValidationRules type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^Property App\\Models\\Training\\Skills\\Skill\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^Static property App\\Models\\Training\\Skills\\Skill\:\:\$ValidationMessages \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^Static property App\\Models\\Training\\Skills\\Skill\:\:\$ValidationRules \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Training/Skills/Skill.php + + - + message: '#^Method App\\Models\\Users\\Group\:\:users\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Users/Group.php + + - + message: '#^PHPDoc type array of property App\\Models\\Users\\Group\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Users/Group.php + + - + message: '#^Property App\\Models\\Users\\Group\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Users/Group.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\\:\:lists\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Models/Users/User.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:core\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:forUser\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Models/Users/User.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:general\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Call to function is_array\(\) with array\{mixed\} will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 2 + path: app/Models/Users/User.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\Group\|null\.$#' + identifier: property.nonObject + count: 2 + path: app/Models/Users/User.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 3 + path: app/Models/Users/User.php + + - + message: '#^Cannot access property \$name on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 9 + path: app/Models/Users/User.php + + - + message: '#^Cannot call method update\(\) on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Deprecated in PHP 8\.4\: Parameter \#1 \$category \(App\\Models\\Training\\Category\) is implicitly nullable via default value null\.$#' + identifier: parameter.implicitlyNullable + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Deprecated in PHP 8\.4\: Parameter \#1 \$skill \(App\\Models\\Training\\Skills\\Skill\) is implicitly nullable via default value null\.$#' + identifier: parameter.implicitlyNullable + count: 2 + path: app/Models/Users/User.php + + - + message: '#^Loose comparison using \=\= between null and 3 will always evaluate to false\.$#' + identifier: equal.alwaysFalse + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:create\(\) has parameter \$attributes with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:events\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:getDiaryPreference\(\) has parameter \$preference with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:getToolColoursParsedAttribute\(\) should return string but returns string\|null\.$#' + identifier: return.type + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:getTypeAttribute\(\) should return int but returns int\|null\.$#' + identifier: return.type + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:getValidationMessages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:getValidationRules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:group\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:hasSkill\(\) with return type void returns bool but should not return anything\.$#' + identifier: return.void + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:isDiaryPreference\(\) has parameter \$preference with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:isDiaryPreference\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:pages\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeActive\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeActive\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeArchived\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeArchived\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeCrewingEvent\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeCrewingEvent\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeDistinctPaginate\(\) has parameter \$columns with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeDistinctPaginate\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeDistinctPaginate\(\) return type with generic class Illuminate\\Pagination\\LengthAwarePaginator does not specify its types\: TKey, TValue$#' + identifier: missingType.generics + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeGetSelect\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeGetSelect\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeInGroup\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeInGroup\(\) has parameter \$groupName with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeInGroup\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeMember\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeMember\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeNameOrder\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeNameOrder\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeNotCrewingEvent\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeNotCrewingEvent\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeSearch\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeSearch\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:scopeSearch\(\) has parameter \$term with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:setNameAttribute\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:setSkillLevel\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:setSkillLevel\(\) has parameter \$level with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:setSkillLevel\(\) has parameter \$skillId with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:setTypeAttribute\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Models\\Users\\User\:\:skills\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Negated boolean expression is always true\.$#' + identifier: booleanNot.alwaysTrue + count: 1 + path: app/Models/Users/User.php + + - + message: '#^PHPDoc type array of property App\\Models\\Users\\User\:\:\$casts is not covariant with PHPDoc type array\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$casts\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Users/User.php + + - + message: '#^PHPDoc type array of property App\\Models\\Users\\User\:\:\$fillable is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$fillable\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Users/User.php + + - + message: '#^PHPDoc type array of property App\\Models\\Users\\User\:\:\$hidden is not covariant with PHPDoc type list\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$hidden\.$#' + identifier: property.phpDocType + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Parameter \#1 \$related of method Illuminate\\Database\\Eloquent\\Model\:\:hasMany\(\) expects class\-string\, string given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Parameter \#1 \$string of function strtolower expects string, string\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Parameter \#2 \$data of function hash expects string, string\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Parameter \#2 \$subject of function preg_match_all expects string, string\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Parameter \#3 \$length of function substr expects int\|null, int\<0, max\>\|false given\.$#' + identifier: argument.type + count: 2 + path: app/Models/Users/User.php + + - + message: '#^Property App\\Models\\Users\\User\:\:\$AccountTypes type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Property App\\Models\\Users\\User\:\:\$ValidationMessages type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Property App\\Models\\Users\\User\:\:\$ValidationRules type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Property App\\Models\\Users\\User\:\:\$casts type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Property App\\Models\\Users\\User\:\:\$fillable type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Property App\\Models\\Users\\User\:\:\$hidden type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Result of && is always false\.$#' + identifier: booleanAnd.alwaysFalse + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Result of method App\\Models\\Users\\User\:\:hasSkill\(\) \(void\) is used\.$#' + identifier: method.void + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Static property App\\Models\\Users\\User\:\:\$ValidationMessages \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Static property App\\Models\\Users\\User\:\:\$ValidationRules \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Unable to resolve the template type TRelatedModel in call to method Illuminate\\Database\\Eloquent\\Model\:\:hasMany\(\)$#' + identifier: argument.templateType + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Unreachable statement \- code above always terminates\.$#' + identifier: deadCode.unreachable + count: 1 + path: app/Models/Users/User.php + + - + message: '#^Method App\\Notifications\\Auth\\ResetPassword\:\:__construct\(\) has parameter \$token with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Notifications/Auth/ResetPassword.php + + - + message: '#^Method App\\Notifications\\Auth\\ResetPassword\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/Auth/ResetPassword.php + + - + message: '#^Method App\\Notifications\\Auth\\ResetPassword\:\:via\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/Auth/ResetPassword.php + + - + message: '#^Cannot access property \$email on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Notifications/Events/HasBeenVolunteered.php + + - + message: '#^Cannot access property \$forename on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Notifications/Events/HasBeenVolunteered.php + + - + message: '#^Cannot access property \$name on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Notifications/Events/HasBeenVolunteered.php + + - + message: '#^Method App\\Notifications\\Events\\HasBeenVolunteered\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/Events/HasBeenVolunteered.php + + - + message: '#^Method App\\Notifications\\Events\\HasBeenVolunteered\:\:via\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/Events/HasBeenVolunteered.php + + - + message: '#^Property App\\Notifications\\Events\\HasBeenVolunteered\:\:\$event type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/Events/HasBeenVolunteered.php + + - + message: '#^Cannot access property \$email on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Notifications/Events/UserHasVolunteered.php + + - + message: '#^Cannot access property \$forename on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Notifications/Events/UserHasVolunteered.php + + - + message: '#^Cannot access property \$id on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Notifications/Events/UserHasVolunteered.php + + - + message: '#^Cannot access property \$name on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 2 + path: app/Notifications/Events/UserHasVolunteered.php + + - + message: '#^Method App\\Notifications\\Events\\UserHasVolunteered\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/Events/UserHasVolunteered.php + + - + message: '#^Method App\\Notifications\\Events\\UserHasVolunteered\:\:via\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/Events/UserHasVolunteered.php + + - + message: '#^Property App\\Notifications\\Events\\UserHasVolunteered\:\:\$event type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/Events/UserHasVolunteered.php + + - + message: '#^Cannot access property \$email on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Notifications/Events/VolunteeredToCrew.php + + - + message: '#^Cannot access property \$forename on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Notifications/Events/VolunteeredToCrew.php + + - + message: '#^Cannot access property \$name on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Notifications/Events/VolunteeredToCrew.php + + - + message: '#^Method App\\Notifications\\Events\\VolunteeredToCrew\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/Events/VolunteeredToCrew.php + + - + message: '#^Method App\\Notifications\\Events\\VolunteeredToCrew\:\:via\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/Events/VolunteeredToCrew.php + + - + message: '#^Property App\\Notifications\\Events\\VolunteeredToCrew\:\:\$event type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/Events/VolunteeredToCrew.php + + - + message: '#^Method App\\Notifications\\Users\\ResetPasswordAdmin\:\:__construct\(\) has parameter \$password with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Notifications/Users/ResetPasswordAdmin.php + + - + message: '#^Method App\\Notifications\\Users\\ResetPasswordAdmin\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/Users/ResetPasswordAdmin.php + + - + message: '#^Method App\\Notifications\\Users\\ResetPasswordAdmin\:\:via\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/Users/ResetPasswordAdmin.php + + - + message: '#^Method App\\Notifications\\Users\\UserAccountCreated\:\:__construct\(\) has parameter \$password with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Notifications/Users/UserAccountCreated.php + + - + message: '#^Method App\\Notifications\\Users\\UserAccountCreated\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/Users/UserAccountCreated.php + + - + message: '#^Method App\\Notifications\\Users\\UserAccountCreated\:\:via\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/Users/UserAccountCreated.php + + - + message: '#^Method App\\Observers\\Awards\\AwardObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Awards/AwardObserver.php + + - + message: '#^Method App\\Observers\\Awards\\AwardObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Awards/AwardObserver.php + + - + message: '#^Method App\\Observers\\Awards\\AwardObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Awards/AwardObserver.php + + - + message: '#^Right side of && is always false\.$#' + identifier: booleanAnd.rightAlwaysFalse + count: 1 + path: app/Observers/Awards/AwardObserver.php + + - + message: '#^Method App\\Observers\\Awards\\NominationObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Awards/NominationObserver.php + + - + message: '#^Method App\\Observers\\Awards\\NominationObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Awards/NominationObserver.php + + - + message: '#^Method App\\Observers\\Awards\\NominationObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Awards/NominationObserver.php + + - + message: '#^Method App\\Observers\\Awards\\SeasonObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Awards/SeasonObserver.php + + - + message: '#^Method App\\Observers\\Awards\\SeasonObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Awards/SeasonObserver.php + + - + message: '#^Method App\\Observers\\Awards\\SeasonObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Awards/SeasonObserver.php + + - + message: '#^Method App\\Observers\\Awards\\VoteObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Awards/VoteObserver.php + + - + message: '#^Method App\\Observers\\Committee\\RoleObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Committee/RoleObserver.php + + - + message: '#^Method App\\Observers\\Committee\\RoleObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Committee/RoleObserver.php + + - + message: '#^Method App\\Observers\\Committee\\RoleObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Committee/RoleObserver.php + + - + message: '#^Method App\\Observers\\Elections\\ElectionObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Elections/ElectionObserver.php + + - + message: '#^Method App\\Observers\\Elections\\ElectionObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Elections/ElectionObserver.php + + - + message: '#^Method App\\Observers\\Elections\\ElectionObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Elections/ElectionObserver.php + + - + message: '#^Method App\\Observers\\Elections\\NominationObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Elections/NominationObserver.php + + - + message: '#^Method App\\Observers\\Elections\\NominationObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Elections/NominationObserver.php + + - + message: '#^Method App\\Observers\\Elections\\NominationObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Elections/NominationObserver.php + + - + message: '#^Method App\\Observers\\Equipment\\BreakageObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Equipment/BreakageObserver.php + + - + message: '#^Method App\\Observers\\Equipment\\BreakageObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Equipment/BreakageObserver.php + + - + message: '#^Method App\\Observers\\Equipment\\BreakageObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Equipment/BreakageObserver.php + + - + message: '#^Method App\\Observers\\Events\\CrewObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Events/CrewObserver.php + + - + message: '#^Method App\\Observers\\Events\\EmailObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Events/EmailObserver.php + + - + message: '#^Method App\\Observers\\Events\\EventObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Events/EventObserver.php + + - + message: '#^Method App\\Observers\\Events\\EventObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Events/EventObserver.php + + - + message: '#^Method App\\Observers\\Events\\EventObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Events/EventObserver.php + + - + message: '#^Method App\\Observers\\Events\\TimeObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Events/TimeObserver.php + + - + message: '#^Method App\\Observers\\Events\\TimeObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Events/TimeObserver.php + + - + message: '#^Method App\\Observers\\Events\\TimeObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Events/TimeObserver.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Observers/ModelObserver.php + + - + message: '#^Method App\\Observers\\ModelObserver\:\:cleanForSaving\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/ModelObserver.php + + - + message: '#^Method App\\Observers\\ModelObserver\:\:cleanForSaving\(\) has parameter \$attributes with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Observers/ModelObserver.php + + - + message: '#^Method App\\Observers\\ModelObserver\:\:getCreatedAttributes\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/ModelObserver.php + + - + message: '#^Method App\\Observers\\ModelObserver\:\:getDeletedAttributes\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/ModelObserver.php + + - + message: '#^Method App\\Observers\\ModelObserver\:\:getUpdatedAttributes\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/ModelObserver.php + + - + message: '#^Method App\\Observers\\QuoteObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/QuoteObserver.php + + - + message: '#^Method App\\Observers\\QuoteObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/QuoteObserver.php + + - + message: '#^Method App\\Observers\\QuoteObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/QuoteObserver.php + + - + message: '#^Method App\\Observers\\Resources\\CategoryObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Resources/CategoryObserver.php + + - + message: '#^Method App\\Observers\\Resources\\CategoryObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Resources/CategoryObserver.php + + - + message: '#^Method App\\Observers\\Resources\\CategoryObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Resources/CategoryObserver.php + + - + message: '#^Method App\\Observers\\Resources\\IssueObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Resources/IssueObserver.php + + - + message: '#^Method App\\Observers\\Resources\\ResourceObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Resources/ResourceObserver.php + + - + message: '#^Method App\\Observers\\Resources\\ResourceObserver\:\:deleted\(\) should return bool but return statement is missing\.$#' + identifier: return.missing + count: 2 + path: app/Observers/Resources/ResourceObserver.php + + - + message: '#^Method App\\Observers\\Resources\\ResourceObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Resources/ResourceObserver.php + + - + message: '#^Method App\\Observers\\Resources\\TagObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Resources/TagObserver.php + + - + message: '#^Method App\\Observers\\Resources\\TagObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Resources/TagObserver.php + + - + message: '#^Method App\\Observers\\Resources\\TagObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Resources/TagObserver.php + + - + message: '#^Method App\\Observers\\Training\\CategoryObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Training/CategoryObserver.php + + - + message: '#^Method App\\Observers\\Training\\CategoryObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Training/CategoryObserver.php + + - + message: '#^Method App\\Observers\\Training\\CategoryObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Training/CategoryObserver.php + + - + message: '#^Method App\\Observers\\Training\\Skills\\ApplicationObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Training/Skills/ApplicationObserver.php + + - + message: '#^Method App\\Observers\\Training\\Skills\\SkillObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Training/Skills/SkillObserver.php + + - + message: '#^Method App\\Observers\\Training\\Skills\\SkillObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Training/Skills/SkillObserver.php + + - + message: '#^Method App\\Observers\\Training\\Skills\\SkillObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Training/Skills/SkillObserver.php + + - + message: '#^Method App\\Observers\\Users\\GroupObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Users/GroupObserver.php + + - + message: '#^Method App\\Observers\\Users\\GroupObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Users/GroupObserver.php + + - + message: '#^Method App\\Observers\\Users\\GroupObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Users/GroupObserver.php + + - + message: '#^Method App\\Observers\\Users\\UserObserver\:\:created\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Users/UserObserver.php + + - + message: '#^Method App\\Observers\\Users\\UserObserver\:\:deleted\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Users/UserObserver.php + + - + message: '#^Method App\\Observers\\Users\\UserObserver\:\:updated\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Observers/Users/UserObserver.php + + - + message: '#^Cannot call method areNominationsOpen\(\) on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Policies/Awards/NominationPolicy.php + + - + message: '#^Method App\\Policies\\Awards\\SeasonPolicy\:\:create\(\) has invalid return type App\\Policies\\Awards\\boolø\.$#' + identifier: class.notFound + count: 1 + path: app/Policies/Awards/SeasonPolicy.php + + - + message: '#^Method App\\Policies\\Awards\\SeasonPolicy\:\:create\(\) should return App\\Policies\\Awards\\boolø but returns bool\.$#' + identifier: return.type + count: 1 + path: app/Policies/Awards/SeasonPolicy.php + + - + message: '#^Deprecated in PHP 8\.4\: Parameter \#2 \$skill \(App\\Models\\Training\\Skills\\Skill\) is implicitly nullable via default value null\.$#' + identifier: parameter.implicitlyNullable + count: 2 + path: app/Policies/Training/Skills/SkillPolicy.php + + - + message: '#^Method App\\Providers\\AuthServiceProvider\:\:registerAuthGates\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Providers/AuthServiceProvider.php + + - + message: '#^PHPDoc type array of property App\\Providers\\AuthServiceProvider\:\:\$policies is not covariant with PHPDoc type array\ of overridden property Illuminate\\Foundation\\Support\\Providers\\AuthServiceProvider\:\:\$policies\.$#' + identifier: property.phpDocType + count: 1 + path: app/Providers/AuthServiceProvider.php + + - + message: '#^Property App\\Providers\\AuthServiceProvider\:\:\$policies type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Providers/AuthServiceProvider.php + + - + message: '#^PHPDoc type array of property App\\Providers\\EventServiceProvider\:\:\$listen is not covariant with PHPDoc type array\\> of overridden property Illuminate\\Foundation\\Support\\Providers\\EventServiceProvider\:\:\$listen\.$#' + identifier: property.phpDocType + count: 1 + path: app/Providers/EventServiceProvider.php + + - + message: '#^Property App\\Providers\\EventServiceProvider\:\:\$listen type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Providers/EventServiceProvider.php + + - + message: '#^Cannot access offset ''session\.store'' on Illuminate\\Contracts\\Foundation\\Application\.$#' + identifier: offsetAccess.nonOffsetAccessible + count: 1 + path: app/Providers/NotificationServiceProvider.php + + - + message: '#^Class Package\\Notifications\\NotificationHandler does not have a constructor and must be instantiated without any parameters\.$#' + identifier: new.noConstructor + count: 1 + path: app/Providers/NotificationServiceProvider.php + + - + message: '#^Method App\\Providers\\ObserverServiceProvider\:\:observeAwards\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Providers/ObserverServiceProvider.php + + - + message: '#^Method App\\Providers\\ObserverServiceProvider\:\:observeCommittee\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Providers/ObserverServiceProvider.php + + - + message: '#^Method App\\Providers\\ObserverServiceProvider\:\:observeElections\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Providers/ObserverServiceProvider.php + + - + message: '#^Method App\\Providers\\ObserverServiceProvider\:\:observeEquipment\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Providers/ObserverServiceProvider.php + + - + message: '#^Method App\\Providers\\ObserverServiceProvider\:\:observeEvents\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Providers/ObserverServiceProvider.php + + - + message: '#^Method App\\Providers\\ObserverServiceProvider\:\:observeResources\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Providers/ObserverServiceProvider.php + + - + message: '#^Method App\\Providers\\ObserverServiceProvider\:\:observeTraining\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Providers/ObserverServiceProvider.php + + - + message: '#^Method App\\Providers\\ObserverServiceProvider\:\:observeUsers\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Providers/ObserverServiceProvider.php + + - + message: '#^Cannot access offset ''request'' on Illuminate\\Contracts\\Foundation\\Application\.$#' + identifier: offsetAccess.nonOffsetAccessible + count: 1 + path: app/Providers/SearchToolsServiceProvider.php + + - + message: '#^Cannot access offset ''router'' on Illuminate\\Contracts\\Foundation\\Application\.$#' + identifier: offsetAccess.nonOffsetAccessible + count: 1 + path: app/Providers/SearchToolsServiceProvider.php + + - + message: '#^Class App\\Providers\\SearchTools not found\.$#' + identifier: class.notFound + count: 1 + path: app/Providers/SearchToolsServiceProvider.php + + - + message: '#^Instantiated class App\\Providers\\SearchTools not found\.$#' + identifier: class.notFound + count: 1 + path: app/Providers/SearchToolsServiceProvider.php + + - + message: '#^Cannot access property \$name on Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: property.nonObject + count: 1 + path: app/Providers/ViewServiceProvider.php + + - + message: '#^Cannot call method getName\(\) on Illuminate\\Routing\\Route\|null\.$#' + identifier: method.nonObject + count: 2 + path: app/Providers/ViewServiceProvider.php + + - + message: '#^Cannot call method parameters\(\) on Illuminate\\Routing\\Route\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Providers/ViewServiceProvider.php + + - + message: '#^Deprecated in PHP 8\.4\: Parameter \#1 \$customQuery \(array\) is implicitly nullable via default value null\.$#' + identifier: parameter.implicitlyNullable + count: 1 + path: app/Providers/ViewServiceProvider.php + + - + message: '#^Method App\\Providers\\ViewServiceProvider\:\:attachMemberEvents\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Providers/ViewServiceProvider.php + + - + message: '#^Method App\\Providers\\ViewServiceProvider\:\:attachMemberSkills\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Providers/ViewServiceProvider.php + + - + message: '#^Method App\\Providers\\ViewServiceProvider\:\:attachResourceSearchVariables\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Providers/ViewServiceProvider.php + + - + message: '#^Method App\\Providers\\ViewServiceProvider\:\:attachResourceVariables\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Providers/ViewServiceProvider.php + + - + message: '#^Method App\\Providers\\ViewServiceProvider\:\:paginatorPath\(\) has parameter \$customQuery with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Providers/ViewServiceProvider.php + + - + message: '#^Parameter \#1 \$item of method Illuminate\\Support\\Collection\\:\:add\(\) expects App\\Models\\Training\\Category, object\{id\: null, name\: string, skills\: Illuminate\\Database\\Eloquent\\Collection\\}&stdClass given\.$#' + identifier: argument.type + count: 1 + path: app/Providers/ViewServiceProvider.php + + - + message: '#^Unable to resolve the template type TGroupKey in call to method Illuminate\\Support\\Collection\\:\:groupBy\(\)$#' + identifier: argument.templateType + count: 1 + path: app/Providers/ViewServiceProvider.php + + - + message: '#^Binary operation "\+" between array\{''''\: mixed\} and Illuminate\\Database\\Eloquent\\Builder\ results in an error\.$#' + identifier: binaryOp.invalid + count: 2 + path: app/Services/Html/FormBuilder.php + + - + message: '#^Call to function is_array\(\) with string will always evaluate to false\.$#' + identifier: function.impossibleType + count: 1 + path: app/Services/Html/FormBuilder.php + + - + message: '#^Class App\\Services\\Html\\Collection not found\.$#' + identifier: class.notFound + count: 1 + path: app/Services/Html/FormBuilder.php + + - + message: '#^Instanceof between string and App\\Services\\Html\\Collection will always evaluate to false\.$#' + identifier: instanceof.alwaysFalse + count: 1 + path: app/Services/Html/FormBuilder.php + + - + message: '#^Method App\\Services\\Html\\FormBuilder\:\:memberList\(\) has parameter \$name with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Services/Html/FormBuilder.php + + - + message: '#^Method App\\Services\\Html\\FormBuilder\:\:memberList\(\) has parameter \$options with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/Html/FormBuilder.php + + - + message: '#^Method App\\Services\\Html\\FormBuilder\:\:userList\(\) has parameter \$name with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Services/Html/FormBuilder.php + + - + message: '#^Method App\\Services\\Html\\FormBuilder\:\:userList\(\) has parameter \$options with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/Html/FormBuilder.php + + - + message: '#^Cannot access property \$id on App\\Models\\Users\\User\|null\.$#' + identifier: property.nonObject + count: 3 + path: app/Services/QuoteService.php + + - + message: '#^Cannot call method addMinutes\(\) on Carbon\\Carbon\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/Services/QuoteService.php + + - + message: '#^Method App\\Services\\QuoteService\:\:getPaginatedQuotes\(\) return type with generic class Illuminate\\Pagination\\LengthAwarePaginator does not specify its types\: TKey, TValue$#' + identifier: missingType.generics + count: 1 + path: app/Services/QuoteService.php + + - + message: '#^PHPDoc tag @var for variable \$quotes contains generic class Illuminate\\Pagination\\LengthAwarePaginator but does not specify its types\: TKey, TValue$#' + identifier: missingType.generics + count: 1 + path: app/Services/QuoteService.php + + - + message: '#^Binary operation "\." between ''/\^'' and list\\|string results in an error\.$#' + identifier: binaryOp.invalid + count: 1 + path: app/Validation/Validator.php + + - + message: '#^Call to an undefined method Illuminate\\Contracts\\Translation\\Translator\:\:trans\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Validation/Validator.php + + - + message: '#^Method App\\Validation\\Validator\:\:validateDatetime\(\) has parameter \$attribute with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Validation/Validator.php + + - + message: '#^Method App\\Validation\\Validator\:\:validateDatetime\(\) has parameter \$parameters with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Validation/Validator.php + + - + message: '#^Method App\\Validation\\Validator\:\:validateDatetime\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Validation/Validator.php + + - + message: '#^Method App\\Validation\\Validator\:\:validateEach\(\) has parameter \$attribute with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Validation/Validator.php + + - + message: '#^Method App\\Validation\\Validator\:\:validateEach\(\) has parameter \$parameters with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Validation/Validator.php + + - + message: '#^Method App\\Validation\\Validator\:\:validateEach\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Validation/Validator.php + + - + message: '#^Method App\\Validation\\Validator\:\:validateName\(\) has parameter \$attribute with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Validation/Validator.php + + - + message: '#^Method App\\Validation\\Validator\:\:validateName\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Validation/Validator.php + + - + message: '#^Method App\\Validation\\Validator\:\:validatePhone\(\) has parameter \$attribute with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Validation/Validator.php + + - + message: '#^Method App\\Validation\\Validator\:\:validatePhone\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Validation/Validator.php + + - + message: '#^Method App\\Validation\\Validator\:\:validateTime\(\) has parameter \$attribute with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Validation/Validator.php + + - + message: '#^Method App\\Validation\\Validator\:\:validateTime\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Validation/Validator.php + + - + message: '#^Method App\\View\\Composers\\ContactMenuComposer\:\:compose\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/View/Composers/ContactMenuComposer.php + + - + message: '#^Cannot call method active\(\) on array\|Lavary\\Menu\\Item\|string\.$#' + identifier: method.nonObject + count: 1 + path: app/View/Composers/MainMenuComposer.php + + - + message: '#^Cannot call method add\(\) on array\|Lavary\\Menu\\Item\|string\.$#' + identifier: method.nonObject + count: 31 + path: app/View/Composers/MainMenuComposer.php + + - + message: '#^Cannot call method divide\(\) on array\|Lavary\\Menu\\Item\|string\.$#' + identifier: method.nonObject + count: 1 + path: app/View/Composers/MainMenuComposer.php + + - + message: '#^Cannot call method isAdmin\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/View/Composers/MainMenuComposer.php + + - + message: '#^Cannot call method isMember\(\) on App\\Models\\Users\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: app/View/Composers/MainMenuComposer.php + + - + message: '#^If condition is always true\.$#' + identifier: if.alwaysTrue + count: 1 + path: app/View/Composers/MainMenuComposer.php + + - + message: '#^Method App\\View\\Composers\\MainMenuComposer\:\:addEventsMenu\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/View/Composers/MainMenuComposer.php + + - + message: '#^Method App\\View\\Composers\\MainMenuComposer\:\:addMediaMenu\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/View/Composers/MainMenuComposer.php + + - + message: '#^Method App\\View\\Composers\\MainMenuComposer\:\:addMembersMenu\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/View/Composers/MainMenuComposer.php + + - + message: '#^Method App\\View\\Composers\\MainMenuComposer\:\:addResourcesMenu\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/View/Composers/MainMenuComposer.php + + - + message: '#^Method App\\View\\Composers\\MainMenuComposer\:\:compose\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/View/Composers/MainMenuComposer.php + + - + message: '#^Property App\\View\\Composers\\MainMenuComposer\:\:\$user \(App\\Models\\Users\\User\) does not accept App\\Models\\Users\\User\|null\.$#' + identifier: assign.propertyType + count: 1 + path: app/View/Composers/MainMenuComposer.php + + - + message: '#^Method App\\View\\Composers\\MemberMenuComposer\:\:compose\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/View/Composers/MemberMenuComposer.php + + - + message: '#^Method App\\View\\Composers\\ViewComposer\:\:compose\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/View/Composers/ViewComposer.php + + - + message: '#^Parameter \#1 \$title of static method Illuminate\\Support\\Str\:\:slug\(\) expects string, bool\|string given\.$#' + identifier: argument.type + count: 1 + path: config/cache.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Schema\\ColumnDefinition\:\:\$comment\.$#' + identifier: property.notFound + count: 1 + path: database/migrations/2017_12_01_000006_create_resources_tables.php + + - + message: '#^Cannot call method close\(\) on Package\\Notifications\\Notification\|string\.$#' + identifier: method.nonObject + count: 1 + path: packages/Notifications/Notification.php + + - + message: '#^Method Package\\Notifications\\Notification\:\:bag\(\) has parameter \$bag with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/Notifications/Notification.php + + - + message: '#^Method Package\\Notifications\\Notification\:\:close\(\) has parameter \$close with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/Notifications/Notification.php + + - + message: '#^Method Package\\Notifications\\Notification\:\:enclose\(\) has parameter \$tag with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/Notifications/Notification.php + + - + message: '#^Method Package\\Notifications\\Notification\:\:level\(\) has parameter \$level with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/Notifications/Notification.php + + - + message: '#^Method Package\\Notifications\\Notification\:\:message\(\) has parameter \$message with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/Notifications/Notification.php + + - + message: '#^Method Package\\Notifications\\Notification\:\:title\(\) has parameter \$title with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/Notifications/Notification.php + + - + message: '#^Method Package\\Notifications\\Notification\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/Notifications/Notification.php + + - + message: '#^Property Package\\Notifications\\Notification\:\:\$attributes type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/Notifications/Notification.php + + - + message: '#^Property Package\\Notifications\\Notification\:\:\$level \(int\) does not accept default value of type string\.$#' + identifier: property.defaultValue + count: 1 + path: packages/Notifications/Notification.php + + - + message: '#^Strict comparison using \!\=\= between mixed and null will always evaluate to true\.$#' + identifier: notIdentical.alwaysTrue + count: 2 + path: packages/Notifications/Notification.php + + - + message: '#^Strict comparison using \!\=\= between non\-falsy\-string and null will always evaluate to true\.$#' + identifier: notIdentical.alwaysTrue + count: 3 + path: packages/Notifications/Notification.php + + - + message: '#^Method Package\\Notifications\\NotificationHandler\:\:all\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/Notifications/NotificationHandler.php + + - + message: '#^Method Package\\Notifications\\NotificationHandler\:\:bags\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/Notifications/NotificationHandler.php + + - + message: '#^Method Package\\Notifications\\NotificationHandler\:\:get\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/Notifications/NotificationHandler.php + + - + message: '#^Method Package\\Notifications\\NotificationHandler\:\:notification\(\) has parameter \$level with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/Notifications/NotificationHandler.php + + - + message: '#^Method Package\\Notifications\\NotificationHandler\:\:notification\(\) has parameter \$message with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/Notifications/NotificationHandler.php + + - + message: '#^Parameter \#4 \$bag of method Package\\Notifications\\NotificationHandler\:\:notification\(\) expects string, null given\.$#' + identifier: argument.type + count: 4 + path: packages/Notifications/NotificationHandler.php + + - + message: '#^Property Package\\Notifications\\NotificationHandler\:\:\$notifications type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/Notifications/NotificationHandler.php + + - + message: '#^Cannot call method parameter\(\) on Illuminate\\Routing\\Route\|null\.$#' + identifier: method.nonObject + count: 2 + path: packages/SearchTools/SearchTools.php + + - + message: '#^Cannot call method parameters\(\) on Illuminate\\Routing\\Route\|null\.$#' + identifier: method.nonObject + count: 1 + path: packages/SearchTools/SearchTools.php + + - + message: '#^Method Package\\SearchTools\\SearchTools\:\:addFilterOption\(\) has parameter \$filter with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/SearchTools/SearchTools.php + + - + message: '#^Method Package\\SearchTools\\SearchTools\:\:addFilterOption\(\) has parameter \$text with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/SearchTools/SearchTools.php + + - + message: '#^Method Package\\SearchTools\\SearchTools\:\:createUrl\(\) has parameter \$query with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/SearchTools/SearchTools.php + + - + message: '#^Method Package\\SearchTools\\SearchTools\:\:getQueryValue\(\) has parameter \$name with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/SearchTools/SearchTools.php + + - + message: '#^Method Package\\SearchTools\\SearchTools\:\:hide\(\) has parameter \$name with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/SearchTools/SearchTools.php + + - + message: '#^Method Package\\SearchTools\\SearchTools\:\:render\(\) should return \$this\(Package\\SearchTools\\SearchTools\) but returns Illuminate\\View\\View\.$#' + identifier: return.type + count: 1 + path: packages/SearchTools/SearchTools.php + + - + message: '#^Method Package\\SearchTools\\SearchTools\:\:setFilterOptions\(\) has parameter \$options with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/SearchTools/SearchTools.php + + - + message: '#^Method Package\\SearchTools\\SearchTools\:\:setNoFilterText\(\) has parameter \$text with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/SearchTools/SearchTools.php + + - + message: '#^Method Package\\SearchTools\\SearchTools\:\:show\(\) has parameter \$name with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/SearchTools/SearchTools.php + + - + message: '#^Property Package\\SearchTools\\SearchTools\:\:\$filterOptions type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/SearchTools/SearchTools.php + + - + message: '#^Property Package\\SearchTools\\SearchTools\:\:\$show type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/SearchTools/SearchTools.php + + - + message: '#^Property Package\\SearchTools\\SearchTools\:\:\$values type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/SearchTools/SearchTools.php + + - + message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Call to function is_bool\(\) with array will always evaluate to false\.$#' + identifier: function.impossibleType + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:authorise\(\) has parameter \$method with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:delete\(\) has parameter \$key with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:delete\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:destroy\(\) has parameter \$key with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:destroy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:edit\(\) has parameter \$key with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:getAttributes\(\) has parameter \$model with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:getModelFromDatabase\(\) has parameter \$key with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:getValidationMessages\(\) has parameter \$model with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:getValidationMessages\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:getValidationRules\(\) has parameter \$model with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:getValidationRules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:requiresAjax\(\) has parameter \$method with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:restore\(\) has parameter \$key with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:restore\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:restore\(\) should return array but empty return statement found\.$#' + identifier: return.empty + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:shouldAuthorise\(\) has parameter \$method with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:store\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:update\(\) has parameter \$key with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:update\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:verifyAjax\(\) has parameter \$method with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:view\(\) has parameter \$key with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Parameter \#1 \$callback of function call_user_func expects callable\(\)\: mixed, array\{string, ''create''\} given\.$#' + identifier: argument.type + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Parameter \#1 \$callback of function call_user_func_array expects callable\(\)\: mixed, array\{string, ''where''\} given\.$#' + identifier: argument.type + count: 2 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Parameter \#1 \$view of function view expects view\-string\|null, string given\.$#' + identifier: argument.type + count: 4 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Property Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:\$attributes type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Property Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:\$requireAjax type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Property Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:\$validationMessages type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Property Package\\WebDevTools\\Laravel\\Controllers\\SimpleCrudController\:\:\$validationRules type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Controllers/SimpleCrudController.php + + - + message: '#^Call to method getMessage\(\) on an unknown class Prophecy\\Exception\\Doubler\\MethodNotFoundException\.$#' + identifier: class.notFound + count: 1 + path: packages/WebDevTools/Laravel/Errors/Handler.php + + - + message: '#^Class Prophecy\\Exception\\Doubler\\MethodNotFoundException not found\.$#' + identifier: class.notFound + count: 1 + path: packages/WebDevTools/Laravel/Errors/Handler.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Errors\\Handler\:\:prepareException\(\) should return Exception but returns Throwable\.$#' + identifier: return.type + count: 1 + path: packages/WebDevTools/Laravel/Errors/Handler.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Errors\\Handler\:\:shouldReturnAjaxError\(\) has parameter \$request with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Errors/Handler.php + + - + message: '#^Call to function is_array\(\) with string will always evaluate to false\.$#' + identifier: function.impossibleType + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Class Package\\WebDevTools\\Laravel\\Html\\Collection not found\.$#' + identifier: class.notFound + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Instanceof between string and Package\\WebDevTools\\Laravel\\Html\\Collection will always evaluate to false\.$#' + identifier: instanceof.alwaysFalse + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:date\(\) has parameter \$options with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:datetime\(\) has parameter \$options with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:input\(\) has parameter \$options with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:label\(\) has parameter \$options with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:select\(\) has parameter \$list with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:select\(\) has parameter \$optgroupsAttributes with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:select\(\) has parameter \$optionsAttributes with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:select\(\) has parameter \$selectAttributes with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:select2\(\) has parameter \$list with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:select2\(\) has parameter \$name with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:select2\(\) has parameter \$optionsAttributes with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:select2\(\) has parameter \$selectAttributes with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:selectDate\(\) has parameter \$name with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:selectDate\(\) has parameter \$options with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:selectDateTime\(\) has parameter \$name with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:selectDateTime\(\) has parameter \$options with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:selectTime\(\) has parameter \$name with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:selectTime\(\) has parameter \$options with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:setBoostrapClasses\(\) has parameter \$name with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:setBoostrapClasses\(\) has parameter \$options with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:setBoostrapClasses\(\) has parameter \$type with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:setBoostrapClasses\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:textarea\(\) has parameter \$options with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:time\(\) has parameter \$options with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Parameter \#2 \$value \(null\) of method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:date\(\) should be compatible with parameter \$value \(string\) of method Collective\\Html\\FormBuilder\:\:date\(\)$#' + identifier: method.childParameterType + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Parameter \#2 \$value \(null\) of method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:datetime\(\) should be compatible with parameter \$value \(string\) of method Collective\\Html\\FormBuilder\:\:datetime\(\)$#' + identifier: method.childParameterType + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Parameter \#2 \$value \(null\) of method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:label\(\) should be compatible with parameter \$value \(string\) of method Collective\\Html\\FormBuilder\:\:label\(\)$#' + identifier: method.childParameterType + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Parameter \#2 \$value \(null\) of method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:textarea\(\) should be compatible with parameter \$value \(string\) of method Collective\\Html\\FormBuilder\:\:textarea\(\)$#' + identifier: method.childParameterType + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Parameter \#2 \$value \(null\) of method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:time\(\) should be compatible with parameter \$value \(string\) of method Collective\\Html\\FormBuilder\:\:time\(\)$#' + identifier: method.childParameterType + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Parameter \#2 \$value of method Collective\\Html\\FormBuilder\:\:getValueAttribute\(\) expects string\|null, int given\.$#' + identifier: argument.type + count: 5 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Parameter \#3 \$selected \(null\) of method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:select\(\) should be compatible with parameter \$selected \(bool\|string\) of method Collective\\Html\\FormBuilder\:\:select\(\)$#' + identifier: method.childParameterType + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Parameter \#3 \$value \(null\) of method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:input\(\) should be compatible with parameter \$value \(string\) of method Collective\\Html\\FormBuilder\:\:input\(\)$#' + identifier: method.childParameterType + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Return type \(string\) of method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:date\(\) should be compatible with return type \(Illuminate\\Support\\HtmlString\) of method Collective\\Html\\FormBuilder\:\:date\(\)$#' + identifier: method.childReturnType + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Return type \(string\) of method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:datetime\(\) should be compatible with return type \(Illuminate\\Support\\HtmlString\) of method Collective\\Html\\FormBuilder\:\:datetime\(\)$#' + identifier: method.childReturnType + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Return type \(string\) of method Package\\WebDevTools\\Laravel\\Html\\FormBuilder\:\:time\(\) should be compatible with return type \(Illuminate\\Support\\HtmlString\) of method Collective\\Html\\FormBuilder\:\:time\(\)$#' + identifier: method.childReturnType + count: 1 + path: packages/WebDevTools/Laravel/Html/FormBuilder.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Policies\\SimpleCrudPolicy\:\:create\(\) has parameter \$user with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Policies/SimpleCrudPolicy.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Policies\\SimpleCrudPolicy\:\:delete\(\) has parameter \$model with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Policies/SimpleCrudPolicy.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Policies\\SimpleCrudPolicy\:\:delete\(\) has parameter \$user with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Policies/SimpleCrudPolicy.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Policies\\SimpleCrudPolicy\:\:edit\(\) has parameter \$model with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Policies/SimpleCrudPolicy.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Policies\\SimpleCrudPolicy\:\:edit\(\) has parameter \$user with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Policies/SimpleCrudPolicy.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Policies\\SimpleCrudPolicy\:\:index\(\) has parameter \$user with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Policies/SimpleCrudPolicy.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Policies\\SimpleCrudPolicy\:\:view\(\) has parameter \$user with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Policies/SimpleCrudPolicy.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Providers\\BladeServiceProvider\:\:getDirectiveArguments\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Providers/BladeServiceProvider.php + + - + message: '#^Access to an undefined property Illuminate\\Contracts\\Foundation\\Application\:\:\$validator\.$#' + identifier: property.notFound + count: 1 + path: packages/WebDevTools/Laravel/Providers/ValidationServiceProvider.php + + - + message: '#^Trait Package\\WebDevTools\\Laravel\\Traits\\AllowsAdminOverride is used zero times and is not analysed\.$#' + identifier: trait.unused + count: 1 + path: packages/WebDevTools/Laravel/Traits/AllowsAdminOverride.php + + - + message: '#^Trait Package\\WebDevTools\\Laravel\\Traits\\IsOrdered is used zero times and is not analysed\.$#' + identifier: trait.unused + count: 1 + path: packages/WebDevTools/Laravel/Traits/IsOrdered.php + + - + message: '#^Trait Package\\WebDevTools\\Laravel\\Traits\\UsesSoftDeletes is used zero times and is not analysed\.$#' + identifier: trait.unused + count: 1 + path: packages/WebDevTools/Laravel/Traits/UsesSoftDeletes.php + + - + message: '#^Binary operation "\." between ''/\^'' and list\\|string results in an error\.$#' + identifier: binaryOp.invalid + count: 1 + path: packages/WebDevTools/Laravel/Validation/Validator.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Validation\\Validator\:\:validateDatetime\(\) has parameter \$attribute with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Validation/Validator.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Validation\\Validator\:\:validateDatetime\(\) has parameter \$parameters with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: packages/WebDevTools/Laravel/Validation/Validator.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Validation\\Validator\:\:validateDatetime\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Validation/Validator.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Validation\\Validator\:\:validateName\(\) has parameter \$attribute with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Validation/Validator.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Validation\\Validator\:\:validateName\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Validation/Validator.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Validation\\Validator\:\:validatePhone\(\) has parameter \$attribute with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Validation/Validator.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Validation\\Validator\:\:validatePhone\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Validation/Validator.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Validation\\Validator\:\:validateTime\(\) has parameter \$attribute with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Validation/Validator.php + + - + message: '#^Method Package\\WebDevTools\\Laravel\\Validation\\Validator\:\:validateTime\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: packages/WebDevTools/Laravel/Validation/Validator.php diff --git a/phpstan.neon b/phpstan.neon index d844722b..2983571e 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -3,6 +3,7 @@ includes: - vendor/phpstan/phpstan-phpunit/extension.neon - vendor/phpstan/phpstan-phpunit/rules.neon - vendor/pestphp/pest/extension.neon + - phpstan-baseline.neon parameters: level: 8 From 5479dc1bcd2dac8ad52a5a78ce1427c6405c4eb1 Mon Sep 17 00:00:00 2001 From: Ben Jones Date: Thu, 4 Sep 2025 23:31:07 +0100 Subject: [PATCH 6/9] build: add laravel-ide-helper --- composer.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.lock b/composer.lock index 27f7da8d..6c74d785 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "820eecff31013f7268242eb91238f292", + "content-hash": "a2c9aa4416359c78936f4e592c3ebdcd", "packages": [ { "name": "alaouy/youtube", From 661a95e9ae6db9e8bc523c6979ddda71ee731b4c Mon Sep 17 00:00:00 2001 From: Ben Jones Date: Wed, 12 Nov 2025 23:15:09 +0000 Subject: [PATCH 7/9] ci: configure app and regenerate helper file before running phpstan --- .github/workflows/checks.yml | 6 ++++++ scripts/set_env.sh | 20 ++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100755 scripts/set_env.sh diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index bcfb86fc..5642d2fd 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -31,6 +31,12 @@ jobs: php-version: 8.4 tools: composer - run: composer install --no-interaction --prefer-dist + - name: Configure app + run: | + cp .env.example .env + php artisan key:generate + scripts/set_env.sh YOUTUBE_API_KEY dummy + php artisan ide-helper:generate - run: | ./vendor/bin/phpstan analyse \ --memory-limit 1G \ diff --git a/scripts/set_env.sh b/scripts/set_env.sh new file mode 100755 index 00000000..bc8fd8a8 --- /dev/null +++ b/scripts/set_env.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +set -euo pipefail + +if [[ ! -f .env ]]; then + echo "ERROR: .env file missing" >&2 + exit 1 +fi + +if [[ "${1:-}" = "" ]]; then + echo "ERROR: missing name of env variable to set (1st argument)" + exit 1 +fi + +if [[ "${2:-}" = "" ]]; then + echo "ERROR: missing new value of env variable (2nd argument)" + exit 1 +fi + +echo "$1=$2" >> .env +echo "Written $1 to .env" From e41cdfbcfe55f1b9fa65ee5e354a7aa757bd170b Mon Sep 17 00:00:00 2001 From: Ben Jones Date: Wed, 12 Nov 2025 23:47:37 +0000 Subject: [PATCH 8/9] build: include modules in scan --- phpstan-baseline.neon | 18 ++++++++++++++++++ phpstan.neon | 1 + 2 files changed, 19 insertions(+) diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 44719db6..5faf1349 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -6852,6 +6852,24 @@ parameters: count: 1 path: database/migrations/2017_12_01_000006_create_resources_tables.php + - + message: '#^Binary operation "\." between non\-falsy\-string and list\\|string results in an error\.$#' + identifier: binaryOp.invalid + count: 1 + path: modules/StaticPage/app/Providers/StaticPageServiceProvider.php + + - + message: '#^Method Modules\\StaticPage\\Providers\\StaticPageServiceProvider\:\:getPublishableViewPaths\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: modules/StaticPage/app/Providers/StaticPageServiceProvider.php + + - + message: '#^Method Modules\\StaticPage\\Providers\\StaticPageServiceProvider\:\:provides\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: modules/StaticPage/app/Providers/StaticPageServiceProvider.php + - message: '#^Cannot call method close\(\) on Package\\Notifications\\Notification\|string\.$#' identifier: method.nonObject diff --git a/phpstan.neon b/phpstan.neon index 2983571e..dc82c404 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -11,6 +11,7 @@ parameters: - app/ - config/ - database/ + - modules/ - packages/ - routes/ - tests/ From b359b1114e4b9a8f698198efe370f557ffc16c11 Mon Sep 17 00:00:00 2001 From: Ben Jones Date: Wed, 12 Nov 2025 23:50:47 +0000 Subject: [PATCH 9/9] build: update deps --- composer.lock | 825 ++++++++++++++++++++++-------------------- phpstan-baseline.neon | 34 +- 2 files changed, 452 insertions(+), 407 deletions(-) diff --git a/composer.lock b/composer.lock index 6c74d785..fb2dc310 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "a2c9aa4416359c78936f4e592c3ebdcd", + "content-hash": "9a01c46af8dac073106784fd2b01f5c9", "packages": [ { "name": "alaouy/youtube", @@ -133,25 +133,25 @@ }, { "name": "brick/math", - "version": "0.12.3", + "version": "0.14.0", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "866551da34e9a618e64a819ee1e01c20d8a588ba" + "reference": "113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/866551da34e9a618e64a819ee1e01c20d8a588ba", - "reference": "866551da34e9a618e64a819ee1e01c20d8a588ba", + "url": "https://api.github.com/repos/brick/math/zipball/113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2", + "reference": "113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2", "shasum": "" }, "require": { - "php": "^8.1" + "php": "^8.2" }, "require-dev": { "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^10.1", - "vimeo/psalm": "6.8.8" + "phpstan/phpstan": "2.1.22", + "phpunit/phpunit": "^11.5" }, "type": "library", "autoload": { @@ -181,7 +181,7 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.12.3" + "source": "https://github.com/brick/math/tree/0.14.0" }, "funding": [ { @@ -189,7 +189,7 @@ "type": "github" } ], - "time": "2025-02-28T13:11:00+00:00" + "time": "2025-08-29T12:40:03+00:00" }, { "name": "bugsnag/bugsnag", @@ -494,16 +494,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.5.8", + "version": "1.5.9", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "719026bb30813accb68271fee7e39552a58e9f65" + "reference": "1905981ee626e6f852448b7aaa978f8666c5bc54" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/719026bb30813accb68271fee7e39552a58e9f65", - "reference": "719026bb30813accb68271fee7e39552a58e9f65", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/1905981ee626e6f852448b7aaa978f8666c5bc54", + "reference": "1905981ee626e6f852448b7aaa978f8666c5bc54", "shasum": "" }, "require": { @@ -550,7 +550,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.5.8" + "source": "https://github.com/composer/ca-bundle/tree/1.5.9" }, "funding": [ { @@ -562,7 +562,7 @@ "type": "github" } ], - "time": "2025-08-20T18:49:47+00:00" + "time": "2025-11-06T11:46:17+00:00" }, { "name": "composer/installers", @@ -787,16 +787,16 @@ }, { "name": "doctrine/dbal", - "version": "3.10.1", + "version": "3.10.3", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "3626601014388095d3af9de7e9e958623b7ef005" + "reference": "65edaca19a752730f290ec2fb89d593cb40afb43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/3626601014388095d3af9de7e9e958623b7ef005", - "reference": "3626601014388095d3af9de7e9e958623b7ef005", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/65edaca19a752730f290ec2fb89d593cb40afb43", + "reference": "65edaca19a752730f290ec2fb89d593cb40afb43", "shasum": "" }, "require": { @@ -812,14 +812,14 @@ }, "require-dev": { "doctrine/cache": "^1.11|^2.0", - "doctrine/coding-standard": "13.0.0", + "doctrine/coding-standard": "14.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "2.1.17", + "phpstan/phpstan": "2.1.30", "phpstan/phpstan-strict-rules": "^2", - "phpunit/phpunit": "9.6.23", - "slevomat/coding-standard": "8.16.2", - "squizlabs/php_codesniffer": "3.13.1", + "phpunit/phpunit": "9.6.29", + "slevomat/coding-standard": "8.24.0", + "squizlabs/php_codesniffer": "4.0.0", "symfony/cache": "^5.4|^6.0|^7.0", "symfony/console": "^4.4|^5.4|^6.0|^7.0" }, @@ -881,7 +881,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.10.1" + "source": "https://github.com/doctrine/dbal/tree/3.10.3" }, "funding": [ { @@ -897,7 +897,7 @@ "type": "tidelift" } ], - "time": "2025-08-05T12:18:06+00:00" + "time": "2025-10-09T09:05:12+00:00" }, { "name": "doctrine/deprecations", @@ -1207,29 +1207,28 @@ }, { "name": "dragonmantank/cron-expression", - "version": "v3.4.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "8c784d071debd117328803d86b2097615b457500" + "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/8c784d071debd117328803d86b2097615b457500", - "reference": "8c784d071debd117328803d86b2097615b457500", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/d61a8a9604ec1f8c3d150d09db6ce98b32675013", + "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013", "shasum": "" }, "require": { - "php": "^7.2|^8.0", - "webmozart/assert": "^1.0" + "php": "^8.2|^8.3|^8.4|^8.5" }, "replace": { "mtdowling/cron-expression": "^1.0" }, "require-dev": { - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.0", - "phpunit/phpunit": "^7.0|^8.0|^9.0" + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.32|^2.1.31", + "phpunit/phpunit": "^8.5.48|^9.0" }, "type": "library", "extra": { @@ -1260,7 +1259,7 @@ ], "support": { "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v3.4.0" + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.6.0" }, "funding": [ { @@ -1268,7 +1267,7 @@ "type": "github" } ], - "time": "2024-10-09T13:47:03+00:00" + "time": "2025-10-31T18:51:33+00:00" }, { "name": "egulias/email-validator", @@ -1441,20 +1440,20 @@ }, { "name": "ezyang/htmlpurifier", - "version": "v4.18.0", + "version": "v4.19.0", "source": { "type": "git", "url": "https://github.com/ezyang/htmlpurifier.git", - "reference": "cb56001e54359df7ae76dc522d08845dc741621b" + "reference": "b287d2a16aceffbf6e0295559b39662612b77fcf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/cb56001e54359df7ae76dc522d08845dc741621b", - "reference": "cb56001e54359df7ae76dc522d08845dc741621b", + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/b287d2a16aceffbf6e0295559b39662612b77fcf", + "reference": "b287d2a16aceffbf6e0295559b39662612b77fcf", "shasum": "" }, "require": { - "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" }, "require-dev": { "cerdic/css-tidy": "^1.7 || ^2.0", @@ -1496,9 +1495,9 @@ ], "support": { "issues": "https://github.com/ezyang/htmlpurifier/issues", - "source": "https://github.com/ezyang/htmlpurifier/tree/v4.18.0" + "source": "https://github.com/ezyang/htmlpurifier/tree/v4.19.0" }, - "time": "2024-11-01T03:51:45+00:00" + "time": "2025-10-17T16:34:55+00:00" }, { "name": "filp/whoops", @@ -2333,16 +2332,16 @@ }, { "name": "konekt/html", - "version": "6.6.0", + "version": "6.7.0", "source": { "type": "git", "url": "https://github.com/artkonekt/html.git", - "reference": "bde98454f6ad17e0047d914d824f32fc1bb797ec" + "reference": "b69b78dcd047e99ef506ad8c98e6cff42fae9bae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/artkonekt/html/zipball/bde98454f6ad17e0047d914d824f32fc1bb797ec", - "reference": "bde98454f6ad17e0047d914d824f32fc1bb797ec", + "url": "https://api.github.com/repos/artkonekt/html/zipball/b69b78dcd047e99ef506ad8c98e6cff42fae9bae", + "reference": "b69b78dcd047e99ef506ad8c98e6cff42fae9bae", "shasum": "" }, "require": { @@ -2408,7 +2407,7 @@ "issues": "https://github.com/artkonekt/html/issues", "source": "https://github.com/artkonekt/html" }, - "time": "2025-02-26T11:43:04+00:00" + "time": "2025-11-10T20:02:03+00:00" }, { "name": "kriswallsmith/assetic", @@ -2459,30 +2458,30 @@ }, { "name": "laminas/laminas-stdlib", - "version": "3.20.0", + "version": "3.21.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4" + "reference": "b1c81514cfe158aadf724c42b34d3d0a8164c096" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/8974a1213be42c3e2f70b2c27b17f910291ab2f4", - "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/b1c81514cfe158aadf724c42b34d3d0a8164c096", + "reference": "b1c81514cfe158aadf724c42b34d3d0a8164c096", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" }, "conflict": { "zendframework/zend-stdlib": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "^3.0", - "phpbench/phpbench": "^1.3.1", - "phpunit/phpunit": "^10.5.38", - "psalm/plugin-phpunit": "^0.19.0", - "vimeo/psalm": "^5.26.1" + "laminas/laminas-coding-standard": "^3.1.0", + "phpbench/phpbench": "^1.4.1", + "phpunit/phpunit": "^11.5.42", + "psalm/plugin-phpunit": "^0.19.5", + "vimeo/psalm": "^6.13.1" }, "type": "library", "autoload": { @@ -2514,24 +2513,24 @@ "type": "community_bridge" } ], - "time": "2024-10-29T13:46:07+00:00" + "time": "2025-10-11T18:13:12+00:00" }, { "name": "laravel/framework", - "version": "v11.45.2", + "version": "v11.46.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "d134bf11e2208c0c5bd488cf19e612ca176b820a" + "reference": "5fd457f807570a962a53b403b1346efe4cc80bb8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/d134bf11e2208c0c5bd488cf19e612ca176b820a", - "reference": "d134bf11e2208c0c5bd488cf19e612ca176b820a", + "url": "https://api.github.com/repos/laravel/framework/zipball/5fd457f807570a962a53b403b1346efe4cc80bb8", + "reference": "5fd457f807570a962a53b403b1346efe4cc80bb8", "shasum": "" }, "require": { - "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12", + "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12|^0.13|^0.14", "composer-runtime-api": "^2.2", "doctrine/inflector": "^2.0.5", "dragonmantank/cron-expression": "^3.4", @@ -2635,7 +2634,7 @@ "league/flysystem-read-only": "^3.25.1", "league/flysystem-sftp-v3": "^3.25.1", "mockery/mockery": "^1.6.10", - "orchestra/testbench-core": "^9.16.0", + "orchestra/testbench-core": "^9.16.1", "pda/pheanstalk": "^5.0.6", "php-http/discovery": "^1.15", "phpstan/phpstan": "^2.0", @@ -2729,20 +2728,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-08-13T20:28:00+00:00" + "time": "2025-09-30T14:51:32+00:00" }, { "name": "laravel/prompts", - "version": "v0.3.6", + "version": "v0.3.7", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "86a8b692e8661d0fb308cec64f3d176821323077" + "reference": "a1891d362714bc40c8d23b0b1d7090f022ea27cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/86a8b692e8661d0fb308cec64f3d176821323077", - "reference": "86a8b692e8661d0fb308cec64f3d176821323077", + "url": "https://api.github.com/repos/laravel/prompts/zipball/a1891d362714bc40c8d23b0b1d7090f022ea27cc", + "reference": "a1891d362714bc40c8d23b0b1d7090f022ea27cc", "shasum": "" }, "require": { @@ -2759,8 +2758,8 @@ "illuminate/collections": "^10.0|^11.0|^12.0", "mockery/mockery": "^1.5", "pestphp/pest": "^2.3|^3.4", - "phpstan/phpstan": "^1.11", - "phpstan/phpstan-mockery": "^1.1" + "phpstan/phpstan": "^1.12.28", + "phpstan/phpstan-mockery": "^1.1.3" }, "suggest": { "ext-pcntl": "Required for the spinner to be animated." @@ -2786,22 +2785,22 @@ "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.3.6" + "source": "https://github.com/laravel/prompts/tree/v0.3.7" }, - "time": "2025-07-07T14:17:42+00:00" + "time": "2025-09-19T13:47:56+00:00" }, { "name": "laravel/serializable-closure", - "version": "v2.0.4", + "version": "v2.0.6", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "b352cf0534aa1ae6b4d825d1e762e35d43f8a841" + "reference": "038ce42edee619599a1debb7e81d7b3759492819" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/b352cf0534aa1ae6b4d825d1e762e35d43f8a841", - "reference": "b352cf0534aa1ae6b4d825d1e762e35d43f8a841", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/038ce42edee619599a1debb7e81d7b3759492819", + "reference": "038ce42edee619599a1debb7e81d7b3759492819", "shasum": "" }, "require": { @@ -2849,7 +2848,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2025-03-19T13:51:03+00:00" + "time": "2025-10-09T13:42:30+00:00" }, { "name": "laravel/tinker", @@ -3227,16 +3226,16 @@ }, { "name": "league/flysystem", - "version": "3.30.0", + "version": "3.30.2", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "2203e3151755d874bb2943649dae1eb8533ac93e" + "reference": "5966a8ba23e62bdb518dd9e0e665c2dbd4b5b277" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/2203e3151755d874bb2943649dae1eb8533ac93e", - "reference": "2203e3151755d874bb2943649dae1eb8533ac93e", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/5966a8ba23e62bdb518dd9e0e665c2dbd4b5b277", + "reference": "5966a8ba23e62bdb518dd9e0e665c2dbd4b5b277", "shasum": "" }, "require": { @@ -3304,22 +3303,22 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.30.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.30.2" }, - "time": "2025-06-25T13:29:59+00:00" + "time": "2025-11-10T17:13:11+00:00" }, { "name": "league/flysystem-local", - "version": "3.30.0", + "version": "3.30.2", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10" + "reference": "ab4f9d0d672f601b102936aa728801dd1a11968d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/6691915f77c7fb69adfb87dcd550052dc184ee10", - "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/ab4f9d0d672f601b102936aa728801dd1a11968d", + "reference": "ab4f9d0d672f601b102936aa728801dd1a11968d", "shasum": "" }, "require": { @@ -3353,9 +3352,9 @@ "local" ], "support": { - "source": "https://github.com/thephpleague/flysystem-local/tree/3.30.0" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.30.2" }, - "time": "2025-05-21T10:34:19+00:00" + "time": "2025-11-10T11:23:37+00:00" }, { "name": "league/mime-type-detection", @@ -3828,16 +3827,16 @@ }, { "name": "nesbot/carbon", - "version": "3.10.2", + "version": "3.10.3", "source": { "type": "git", "url": "https://github.com/CarbonPHP/carbon.git", - "reference": "76b5c07b8a9d2025ed1610e14cef1f3fd6ad2c24" + "reference": "8e3643dcd149ae0fe1d2ff4f2c8e4bbfad7c165f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/76b5c07b8a9d2025ed1610e14cef1f3fd6ad2c24", - "reference": "76b5c07b8a9d2025ed1610e14cef1f3fd6ad2c24", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/8e3643dcd149ae0fe1d2ff4f2c8e4bbfad7c165f", + "reference": "8e3643dcd149ae0fe1d2ff4f2c8e4bbfad7c165f", "shasum": "" }, "require": { @@ -3855,13 +3854,13 @@ "require-dev": { "doctrine/dbal": "^3.6.3 || ^4.0", "doctrine/orm": "^2.15.2 || ^3.0", - "friendsofphp/php-cs-fixer": "^3.75.0", + "friendsofphp/php-cs-fixer": "^v3.87.1", "kylekatarnls/multi-tester": "^2.5.3", "phpmd/phpmd": "^2.15.0", "phpstan/extension-installer": "^1.4.3", - "phpstan/phpstan": "^2.1.17", - "phpunit/phpunit": "^10.5.46", - "squizlabs/php_codesniffer": "^3.13.0" + "phpstan/phpstan": "^2.1.22", + "phpunit/phpunit": "^10.5.53", + "squizlabs/php_codesniffer": "^3.13.4" }, "bin": [ "bin/carbon" @@ -3929,29 +3928,29 @@ "type": "tidelift" } ], - "time": "2025-08-02T09:36:06+00:00" + "time": "2025-09-06T13:39:36+00:00" }, { "name": "nette/schema", - "version": "v1.3.2", + "version": "v1.3.3", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "da801d52f0354f70a638673c4a0f04e16529431d" + "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/da801d52f0354f70a638673c4a0f04e16529431d", - "reference": "da801d52f0354f70a638673c4a0f04e16529431d", + "url": "https://api.github.com/repos/nette/schema/zipball/2befc2f42d7c715fd9d95efc31b1081e5d765004", + "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004", "shasum": "" }, "require": { "nette/utils": "^4.0", - "php": "8.1 - 8.4" + "php": "8.1 - 8.5" }, "require-dev": { "nette/tester": "^2.5.2", - "phpstan/phpstan-nette": "^1.0", + "phpstan/phpstan-nette": "^2.0@stable", "tracy/tracy": "^2.8" }, "type": "library", @@ -3961,6 +3960,9 @@ } }, "autoload": { + "psr-4": { + "Nette\\": "src" + }, "classmap": [ "src/" ] @@ -3989,9 +3991,9 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.3.2" + "source": "https://github.com/nette/schema/tree/v1.3.3" }, - "time": "2024-10-06T23:10:23+00:00" + "time": "2025-10-30T22:57:59+00:00" }, { "name": "nette/utils", @@ -4084,16 +4086,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.6.1", + "version": "v5.6.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2" + "reference": "3a454ca033b9e06b63282ce19562e892747449bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2", - "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/3a454ca033b9e06b63282ce19562e892747449bb", + "reference": "3a454ca033b9e06b63282ce19562e892747449bb", "shasum": "" }, "require": { @@ -4136,9 +4138,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.2" }, - "time": "2025-08-13T20:13:15+00:00" + "time": "2025-10-21T19:32:17+00:00" }, { "name": "nunomaduro/collision", @@ -4241,31 +4243,31 @@ }, { "name": "nunomaduro/termwind", - "version": "v2.3.1", + "version": "v2.3.2", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "dfa08f390e509967a15c22493dc0bac5733d9123" + "reference": "eb61920a53057a7debd718a5b89c2178032b52c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/dfa08f390e509967a15c22493dc0bac5733d9123", - "reference": "dfa08f390e509967a15c22493dc0bac5733d9123", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/eb61920a53057a7debd718a5b89c2178032b52c0", + "reference": "eb61920a53057a7debd718a5b89c2178032b52c0", "shasum": "" }, "require": { "ext-mbstring": "*", "php": "^8.2", - "symfony/console": "^7.2.6" + "symfony/console": "^7.3.4" }, "require-dev": { - "illuminate/console": "^11.44.7", - "laravel/pint": "^1.22.0", + "illuminate/console": "^11.46.1", + "laravel/pint": "^1.25.1", "mockery/mockery": "^1.6.12", - "pestphp/pest": "^2.36.0 || ^3.8.2", - "phpstan/phpstan": "^1.12.25", + "pestphp/pest": "^2.36.0 || ^3.8.4", + "phpstan/phpstan": "^1.12.32", "phpstan/phpstan-strict-rules": "^1.6.2", - "symfony/var-dumper": "^7.2.6", + "symfony/var-dumper": "^7.3.4", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -4308,7 +4310,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v2.3.1" + "source": "https://github.com/nunomaduro/termwind/tree/v2.3.2" }, "funding": [ { @@ -4324,7 +4326,7 @@ "type": "github" } ], - "time": "2025-05-08T08:14:37+00:00" + "time": "2025-10-18T11:10:27+00:00" }, { "name": "nwidart/laravel-modules", @@ -5010,16 +5012,16 @@ }, { "name": "psy/psysh", - "version": "v0.12.10", + "version": "v0.12.14", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "6e80abe6f2257121f1eb9a4c55bf29d921025b22" + "reference": "95c29b3756a23855a30566b745d218bee690bef2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/6e80abe6f2257121f1eb9a4c55bf29d921025b22", - "reference": "6e80abe6f2257121f1eb9a4c55bf29d921025b22", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/95c29b3756a23855a30566b745d218bee690bef2", + "reference": "95c29b3756a23855a30566b745d218bee690bef2", "shasum": "" }, "require": { @@ -5034,11 +5036,12 @@ "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.2" + "bamarni/composer-bin-plugin": "^1.2", + "composer/class-map-generator": "^1.6" }, "suggest": { + "composer/class-map-generator": "Improved tab completion performance with better class discovery.", "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", - "ext-pdo-sqlite": "The doc command requires SQLite to work.", "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." }, "bin": [ @@ -5082,9 +5085,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.10" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.14" }, - "time": "2025-08-04T12:39:37+00:00" + "time": "2025-10-27T17:15:31+00:00" }, { "name": "ralouphie/getallheaders", @@ -5208,20 +5211,20 @@ }, { "name": "ramsey/uuid", - "version": "4.9.0", + "version": "4.9.1", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0" + "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/4e0e23cc785f0724a0e838279a9eb03f28b092a0", - "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/81f941f6f729b1e3ceea61d9d014f8b6c6800440", + "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13", + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", "php": "^8.0", "ramsey/collection": "^1.2 || ^2.0" }, @@ -5280,9 +5283,9 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.9.0" + "source": "https://github.com/ramsey/uuid/tree/4.9.1" }, - "time": "2025-06-25T14:20:11+00:00" + "time": "2025-09-04T20:59:21+00:00" }, { "name": "robloach/component-installer", @@ -5730,16 +5733,16 @@ }, { "name": "spatie/laravel-backup", - "version": "9.3.4", + "version": "9.3.6", "source": { "type": "git", "url": "https://github.com/spatie/laravel-backup.git", - "reference": "707e27eb1746296ac7e111179ec5da842f64e235" + "reference": "d378a07b580aa8bf440b50decdbab7b5d6f63c46" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/707e27eb1746296ac7e111179ec5da842f64e235", - "reference": "707e27eb1746296ac7e111179ec5da842f64e235", + "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/d378a07b580aa8bf440b50decdbab7b5d6f63c46", + "reference": "d378a07b580aa8bf440b50decdbab7b5d6f63c46", "shasum": "" }, "require": { @@ -5767,7 +5770,7 @@ "league/flysystem-aws-s3-v3": "^2.0|^3.0", "mockery/mockery": "^1.4", "orchestra/testbench": "^8.0|^9.0|^10.0", - "pestphp/pest": "^1.20|^2.0|^3.0", + "pestphp/pest": "^1.20|^2.0|^3.0|^4.0", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.1", @@ -5814,7 +5817,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-backup/issues", - "source": "https://github.com/spatie/laravel-backup/tree/9.3.4" + "source": "https://github.com/spatie/laravel-backup/tree/9.3.6" }, "funding": [ { @@ -5826,7 +5829,7 @@ "type": "other" } ], - "time": "2025-07-25T07:51:20+00:00" + "time": "2025-11-05T11:25:01+00:00" }, { "name": "spatie/laravel-db-snapshots", @@ -6266,16 +6269,16 @@ }, { "name": "symfony/console", - "version": "v7.3.3", + "version": "v7.3.6", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7" + "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7", - "reference": "cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7", + "url": "https://api.github.com/repos/symfony/console/zipball/c28ad91448f86c5f6d9d2c70f0cf68bf135f252a", + "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a", "shasum": "" }, "require": { @@ -6340,7 +6343,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.3.3" + "source": "https://github.com/symfony/console/tree/v7.3.6" }, "funding": [ { @@ -6360,20 +6363,20 @@ "type": "tidelift" } ], - "time": "2025-08-25T06:35:40+00:00" + "time": "2025-11-04T01:21:42+00:00" }, { "name": "symfony/css-selector", - "version": "v7.3.0", + "version": "v7.3.6", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2" + "reference": "84321188c4754e64273b46b406081ad9b18e8614" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/601a5ce9aaad7bf10797e3663faefce9e26c24e2", - "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/84321188c4754e64273b46b406081ad9b18e8614", + "reference": "84321188c4754e64273b46b406081ad9b18e8614", "shasum": "" }, "require": { @@ -6409,7 +6412,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.3.0" + "source": "https://github.com/symfony/css-selector/tree/v7.3.6" }, "funding": [ { @@ -6420,12 +6423,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2025-10-29T17:24:25+00:00" }, { "name": "symfony/deprecation-contracts", @@ -6496,16 +6503,16 @@ }, { "name": "symfony/error-handler", - "version": "v7.3.2", + "version": "v7.3.6", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "0b31a944fcd8759ae294da4d2808cbc53aebd0c3" + "reference": "bbe40bfab84323d99dab491b716ff142410a92a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/0b31a944fcd8759ae294da4d2808cbc53aebd0c3", - "reference": "0b31a944fcd8759ae294da4d2808cbc53aebd0c3", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/bbe40bfab84323d99dab491b716ff142410a92a8", + "reference": "bbe40bfab84323d99dab491b716ff142410a92a8", "shasum": "" }, "require": { @@ -6553,7 +6560,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.3.2" + "source": "https://github.com/symfony/error-handler/tree/v7.3.6" }, "funding": [ { @@ -6573,7 +6580,7 @@ "type": "tidelift" } ], - "time": "2025-07-07T08:17:57+00:00" + "time": "2025-10-31T19:12:50+00:00" }, { "name": "symfony/event-dispatcher", @@ -6737,16 +6744,16 @@ }, { "name": "symfony/finder", - "version": "v7.3.2", + "version": "v7.3.5", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe" + "reference": "9f696d2f1e340484b4683f7853b273abff94421f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/2a6614966ba1074fa93dae0bc804227422df4dfe", - "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe", + "url": "https://api.github.com/repos/symfony/finder/zipball/9f696d2f1e340484b4683f7853b273abff94421f", + "reference": "9f696d2f1e340484b4683f7853b273abff94421f", "shasum": "" }, "require": { @@ -6781,7 +6788,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.3.2" + "source": "https://github.com/symfony/finder/tree/v7.3.5" }, "funding": [ { @@ -6801,20 +6808,20 @@ "type": "tidelift" } ], - "time": "2025-07-15T13:41:35+00:00" + "time": "2025-10-15T18:45:57+00:00" }, { "name": "symfony/http-foundation", - "version": "v7.3.3", + "version": "v7.3.7", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "7475561ec27020196c49bb7c4f178d33d7d3dc00" + "reference": "db488a62f98f7a81d5746f05eea63a74e55bb7c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/7475561ec27020196c49bb7c4f178d33d7d3dc00", - "reference": "7475561ec27020196c49bb7c4f178d33d7d3dc00", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/db488a62f98f7a81d5746f05eea63a74e55bb7c4", + "reference": "db488a62f98f7a81d5746f05eea63a74e55bb7c4", "shasum": "" }, "require": { @@ -6864,7 +6871,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.3.3" + "source": "https://github.com/symfony/http-foundation/tree/v7.3.7" }, "funding": [ { @@ -6884,20 +6891,20 @@ "type": "tidelift" } ], - "time": "2025-08-20T08:04:18+00:00" + "time": "2025-11-08T16:41:12+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.3.3", + "version": "v7.3.7", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "72c304de37e1a1cec6d5d12b81187ebd4850a17b" + "reference": "10b8e9b748ea95fa4539c208e2487c435d3c87ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/72c304de37e1a1cec6d5d12b81187ebd4850a17b", - "reference": "72c304de37e1a1cec6d5d12b81187ebd4850a17b", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/10b8e9b748ea95fa4539c208e2487c435d3c87ce", + "reference": "10b8e9b748ea95fa4539c208e2487c435d3c87ce", "shasum": "" }, "require": { @@ -6982,7 +6989,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.3.3" + "source": "https://github.com/symfony/http-kernel/tree/v7.3.7" }, "funding": [ { @@ -7002,20 +7009,20 @@ "type": "tidelift" } ], - "time": "2025-08-29T08:23:45+00:00" + "time": "2025-11-12T11:38:40+00:00" }, { "name": "symfony/mailer", - "version": "v7.3.2", + "version": "v7.3.5", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "d43e84d9522345f96ad6283d5dfccc8c1cfc299b" + "reference": "fd497c45ba9c10c37864e19466b090dcb60a50ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/d43e84d9522345f96ad6283d5dfccc8c1cfc299b", - "reference": "d43e84d9522345f96ad6283d5dfccc8c1cfc299b", + "url": "https://api.github.com/repos/symfony/mailer/zipball/fd497c45ba9c10c37864e19466b090dcb60a50ba", + "reference": "fd497c45ba9c10c37864e19466b090dcb60a50ba", "shasum": "" }, "require": { @@ -7066,7 +7073,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.3.2" + "source": "https://github.com/symfony/mailer/tree/v7.3.5" }, "funding": [ { @@ -7086,20 +7093,20 @@ "type": "tidelift" } ], - "time": "2025-07-15T11:36:08+00:00" + "time": "2025-10-24T14:27:20+00:00" }, { "name": "symfony/mime", - "version": "v7.3.2", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "e0a0f859148daf1edf6c60b398eb40bfc96697d1" + "reference": "b1b828f69cbaf887fa835a091869e55df91d0e35" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/e0a0f859148daf1edf6c60b398eb40bfc96697d1", - "reference": "e0a0f859148daf1edf6c60b398eb40bfc96697d1", + "url": "https://api.github.com/repos/symfony/mime/zipball/b1b828f69cbaf887fa835a091869e55df91d0e35", + "reference": "b1b828f69cbaf887fa835a091869e55df91d0e35", "shasum": "" }, "require": { @@ -7154,7 +7161,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.3.2" + "source": "https://github.com/symfony/mime/tree/v7.3.4" }, "funding": [ { @@ -7174,7 +7181,7 @@ "type": "tidelift" } ], - "time": "2025-07-15T13:41:35+00:00" + "time": "2025-09-16T08:38:17+00:00" }, { "name": "symfony/polyfill-ctype", @@ -7847,16 +7854,16 @@ }, { "name": "symfony/process", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "32241012d521e2e8a9d713adb0812bb773b907f1" + "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/32241012d521e2e8a9d713adb0812bb773b907f1", - "reference": "32241012d521e2e8a9d713adb0812bb773b907f1", + "url": "https://api.github.com/repos/symfony/process/zipball/f24f8f316367b30810810d4eb30c543d7003ff3b", + "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b", "shasum": "" }, "require": { @@ -7888,7 +7895,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.3.3" + "source": "https://github.com/symfony/process/tree/v7.3.4" }, "funding": [ { @@ -7908,20 +7915,20 @@ "type": "tidelift" } ], - "time": "2025-08-18T09:42:54+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "symfony/routing", - "version": "v7.3.2", + "version": "v7.3.6", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "7614b8ca5fa89b9cd233e21b627bfc5774f586e4" + "reference": "c97abe725f2a1a858deca629a6488c8fc20c3091" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/7614b8ca5fa89b9cd233e21b627bfc5774f586e4", - "reference": "7614b8ca5fa89b9cd233e21b627bfc5774f586e4", + "url": "https://api.github.com/repos/symfony/routing/zipball/c97abe725f2a1a858deca629a6488c8fc20c3091", + "reference": "c97abe725f2a1a858deca629a6488c8fc20c3091", "shasum": "" }, "require": { @@ -7973,7 +7980,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.3.2" + "source": "https://github.com/symfony/routing/tree/v7.3.6" }, "funding": [ { @@ -7993,20 +8000,20 @@ "type": "tidelift" } ], - "time": "2025-07-15T11:36:08+00:00" + "time": "2025-11-05T07:57:47+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.6.0", + "version": "v3.6.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4" + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4", - "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", "shasum": "" }, "require": { @@ -8060,7 +8067,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.6.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" }, "funding": [ { @@ -8071,25 +8078,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-04-25T09:37:31+00:00" + "time": "2025-07-15T11:30:57+00:00" }, { "name": "symfony/string", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c" + "reference": "f96476035142921000338bad71e5247fbc138872" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/17a426cce5fd1f0901fefa9b2a490d0038fd3c9c", - "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c", + "url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872", + "reference": "f96476035142921000338bad71e5247fbc138872", "shasum": "" }, "require": { @@ -8104,7 +8115,6 @@ }, "require-dev": { "symfony/emoji": "^7.1", - "symfony/error-handler": "^6.4|^7.0", "symfony/http-client": "^6.4|^7.0", "symfony/intl": "^6.4|^7.0", "symfony/translation-contracts": "^2.5|^3.0", @@ -8147,7 +8157,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.3.3" + "source": "https://github.com/symfony/string/tree/v7.3.4" }, "funding": [ { @@ -8167,20 +8177,20 @@ "type": "tidelift" } ], - "time": "2025-08-25T06:35:40+00:00" + "time": "2025-09-11T14:36:48+00:00" }, { "name": "symfony/translation", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "e0837b4cbcef63c754d89a4806575cada743a38d" + "reference": "ec25870502d0c7072d086e8ffba1420c85965174" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e0837b4cbcef63c754d89a4806575cada743a38d", - "reference": "e0837b4cbcef63c754d89a4806575cada743a38d", + "url": "https://api.github.com/repos/symfony/translation/zipball/ec25870502d0c7072d086e8ffba1420c85965174", + "reference": "ec25870502d0c7072d086e8ffba1420c85965174", "shasum": "" }, "require": { @@ -8247,7 +8257,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.3.3" + "source": "https://github.com/symfony/translation/tree/v7.3.4" }, "funding": [ { @@ -8267,20 +8277,20 @@ "type": "tidelift" } ], - "time": "2025-08-01T21:02:37+00:00" + "time": "2025-09-07T11:39:36+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.6.0", + "version": "v3.6.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d" + "reference": "65a8bc82080447fae78373aa10f8d13b38338977" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d", - "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977", + "reference": "65a8bc82080447fae78373aa10f8d13b38338977", "shasum": "" }, "require": { @@ -8329,7 +8339,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.6.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1" }, "funding": [ { @@ -8340,12 +8350,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-27T08:32:26+00:00" + "time": "2025-07-15T13:41:35+00:00" }, { "name": "symfony/uid", @@ -8423,16 +8437,16 @@ }, { "name": "symfony/var-dumper", - "version": "v7.3.3", + "version": "v7.3.5", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "34d8d4c4b9597347306d1ec8eb4e1319b1e6986f" + "reference": "476c4ae17f43a9a36650c69879dcf5b1e6ae724d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/34d8d4c4b9597347306d1ec8eb4e1319b1e6986f", - "reference": "34d8d4c4b9597347306d1ec8eb4e1319b1e6986f", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/476c4ae17f43a9a36650c69879dcf5b1e6ae724d", + "reference": "476c4ae17f43a9a36650c69879dcf5b1e6ae724d", "shasum": "" }, "require": { @@ -8486,7 +8500,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.3.3" + "source": "https://github.com/symfony/var-dumper/tree/v7.3.5" }, "funding": [ { @@ -8506,7 +8520,7 @@ "type": "tidelift" } ], - "time": "2025-08-13T11:49:31+00:00" + "time": "2025-09-27T09:00:46+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -8776,64 +8790,6 @@ ], "time": "2024-11-21T01:49:47+00:00" }, - { - "name": "webmozart/assert", - "version": "1.11.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "php": "^7.2 || ^8.0" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.13" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.11.0" - }, - "time": "2022-06-03T18:03:27+00:00" - }, { "name": "wikimedia/composer-merge-plugin", "version": "v2.1.0", @@ -9125,16 +9081,16 @@ }, { "name": "brianium/paratest", - "version": "v7.12.0", + "version": "v7.14.2", "source": { "type": "git", "url": "https://github.com/paratestphp/paratest.git", - "reference": "6a34ddb12a3bd5bd07d831ce95f111087f3bcbd8" + "reference": "de06de1ae1203b11976c6ca01d6a9081c8b33d45" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paratestphp/paratest/zipball/6a34ddb12a3bd5bd07d831ce95f111087f3bcbd8", - "reference": "6a34ddb12a3bd5bd07d831ce95f111087f3bcbd8", + "url": "https://api.github.com/repos/paratestphp/paratest/zipball/de06de1ae1203b11976c6ca01d6a9081c8b33d45", + "reference": "de06de1ae1203b11976c6ca01d6a9081c8b33d45", "shasum": "" }, "require": { @@ -9145,24 +9101,23 @@ "fidry/cpu-core-counter": "^1.3.0", "jean85/pretty-package-versions": "^2.1.1", "php": "~8.3.0 || ~8.4.0 || ~8.5.0", - "phpunit/php-code-coverage": "^12.3.2", + "phpunit/php-code-coverage": "^12.4.0", "phpunit/php-file-iterator": "^6", "phpunit/php-timer": "^8", - "phpunit/phpunit": "^12.3.6", + "phpunit/phpunit": "^12.4.1", "sebastian/environment": "^8.0.3", - "symfony/console": "^6.4.20 || ^7.3.2", - "symfony/process": "^6.4.20 || ^7.3.0" + "symfony/console": "^6.4.20 || ^7.3.4", + "symfony/process": "^6.4.20 || ^7.3.4" }, "require-dev": { - "doctrine/coding-standard": "^13.0.1", + "doctrine/coding-standard": "^14.0.0", "ext-pcntl": "*", "ext-pcov": "*", "ext-posix": "*", - "phpstan/phpstan": "^2.1.22", + "phpstan/phpstan": "^2.1.31", "phpstan/phpstan-deprecation-rules": "^2.0.3", "phpstan/phpstan-phpunit": "^2.0.7", - "phpstan/phpstan-strict-rules": "^2.0.6", - "squizlabs/php_codesniffer": "^3.13.2", + "phpstan/phpstan-strict-rules": "^2.0.7", "symfony/filesystem": "^6.4.13 || ^7.3.2" }, "bin": [ @@ -9203,7 +9158,7 @@ ], "support": { "issues": "https://github.com/paratestphp/paratest/issues", - "source": "https://github.com/paratestphp/paratest/tree/v7.12.0" + "source": "https://github.com/paratestphp/paratest/tree/v7.14.2" }, "funding": [ { @@ -9215,7 +9170,7 @@ "type": "paypal" } ], - "time": "2025-08-29T05:28:31+00:00" + "time": "2025-10-24T07:20:53+00:00" }, { "name": "composer/class-map-generator", @@ -9643,16 +9598,16 @@ }, { "name": "larastan/larastan", - "version": "v3.6.1", + "version": "v3.8.0", "source": { "type": "git", "url": "https://github.com/larastan/larastan.git", - "reference": "3c223047e374befd1b64959784685d6ecccf66aa" + "reference": "d13ef96d652d1b2a8f34f1760ba6bf5b9c98112e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/larastan/larastan/zipball/3c223047e374befd1b64959784685d6ecccf66aa", - "reference": "3c223047e374befd1b64959784685d6ecccf66aa", + "url": "https://api.github.com/repos/larastan/larastan/zipball/d13ef96d652d1b2a8f34f1760ba6bf5b9c98112e", + "reference": "d13ef96d652d1b2a8f34f1760ba6bf5b9c98112e", "shasum": "" }, "require": { @@ -9666,7 +9621,7 @@ "illuminate/pipeline": "^11.44.2 || ^12.4.1", "illuminate/support": "^11.44.2 || ^12.4.1", "php": "^8.2", - "phpstan/phpstan": "^2.1.11" + "phpstan/phpstan": "^2.1.29" }, "require-dev": { "doctrine/coding-standard": "^13", @@ -9679,7 +9634,8 @@ "phpunit/phpunit": "^10.5.35 || ^11.5.15" }, "suggest": { - "orchestra/testbench": "Using Larastan for analysing a package needs Testbench" + "orchestra/testbench": "Using Larastan for analysing a package needs Testbench", + "phpmyadmin/sql-parser": "Install to enable Larastan's optional phpMyAdmin-based SQL parser automatically" }, "type": "phpstan-extension", "extra": { @@ -9720,7 +9676,7 @@ ], "support": { "issues": "https://github.com/larastan/larastan/issues", - "source": "https://github.com/larastan/larastan/tree/v3.6.1" + "source": "https://github.com/larastan/larastan/tree/v3.8.0" }, "funding": [ { @@ -9728,7 +9684,7 @@ "type": "github" } ], - "time": "2025-08-25T07:24:56+00:00" + "time": "2025-10-27T23:09:14+00:00" }, { "name": "mockery/mockery", @@ -9875,41 +9831,41 @@ }, { "name": "pestphp/pest", - "version": "v4.0.4", + "version": "v4.1.3", "source": { "type": "git", "url": "https://github.com/pestphp/pest.git", - "reference": "47fb1d77631d608022cc7af96cac90ac741c8394" + "reference": "477d20a54fd9329ddfb0f8d4eb90dca7bc81b027" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest/zipball/47fb1d77631d608022cc7af96cac90ac741c8394", - "reference": "47fb1d77631d608022cc7af96cac90ac741c8394", + "url": "https://api.github.com/repos/pestphp/pest/zipball/477d20a54fd9329ddfb0f8d4eb90dca7bc81b027", + "reference": "477d20a54fd9329ddfb0f8d4eb90dca7bc81b027", "shasum": "" }, "require": { - "brianium/paratest": "^7.11.2", + "brianium/paratest": "^7.14.0", "nunomaduro/collision": "^8.8.2", "nunomaduro/termwind": "^2.3.1", "pestphp/pest-plugin": "^4.0.0", "pestphp/pest-plugin-arch": "^4.0.0", "pestphp/pest-plugin-mutate": "^4.0.1", - "pestphp/pest-plugin-profanity": "^4.0.1", + "pestphp/pest-plugin-profanity": "^4.1.0", "php": "^8.3.0", - "phpunit/phpunit": "^12.3.7", - "symfony/process": "^7.3.0" + "phpunit/phpunit": "^12.4.1", + "symfony/process": "^7.3.4" }, "conflict": { "filp/whoops": "<2.18.3", - "phpunit/phpunit": ">12.3.7", + "phpunit/phpunit": ">12.4.1", "sebastian/exporter": "<7.0.0", "webmozart/assert": "<1.11.0" }, "require-dev": { "pestphp/pest-dev-tools": "^4.0.0", - "pestphp/pest-plugin-browser": "^4.0.2", + "pestphp/pest-plugin-browser": "^4.1.1", "pestphp/pest-plugin-type-coverage": "^4.0.2", - "psy/psysh": "^0.12.10" + "psy/psysh": "^0.12.12" }, "bin": [ "bin/pest" @@ -9975,7 +9931,7 @@ ], "support": { "issues": "https://github.com/pestphp/pest/issues", - "source": "https://github.com/pestphp/pest/tree/v4.0.4" + "source": "https://github.com/pestphp/pest/tree/v4.1.3" }, "funding": [ { @@ -9987,7 +9943,7 @@ "type": "github" } ], - "time": "2025-08-28T18:19:42+00:00" + "time": "2025-10-29T22:45:27+00:00" }, { "name": "pestphp/pest-plugin", @@ -10281,16 +10237,16 @@ }, { "name": "pestphp/pest-plugin-profanity", - "version": "v4.0.1", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/pestphp/pest-plugin-profanity.git", - "reference": "823d5d8ae07a265c70f5e1a9ce50639543b0bf11" + "reference": "c37e5e2c7136ee4eae12082e7952332bc1c6600a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-profanity/zipball/823d5d8ae07a265c70f5e1a9ce50639543b0bf11", - "reference": "823d5d8ae07a265c70f5e1a9ce50639543b0bf11", + "url": "https://api.github.com/repos/pestphp/pest-plugin-profanity/zipball/c37e5e2c7136ee4eae12082e7952332bc1c6600a", + "reference": "c37e5e2c7136ee4eae12082e7952332bc1c6600a", "shasum": "" }, "require": { @@ -10331,9 +10287,9 @@ "unit" ], "support": { - "source": "https://github.com/pestphp/pest-plugin-profanity/tree/v4.0.1" + "source": "https://github.com/pestphp/pest-plugin-profanity/tree/v4.2.0" }, - "time": "2025-08-20T12:58:03+00:00" + "time": "2025-10-28T23:14:11+00:00" }, { "name": "phar-io/manifest", @@ -10703,16 +10659,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "2.2.0", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "b9e61a61e39e02dd90944e9115241c7f7e76bfd8" + "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/b9e61a61e39e02dd90944e9115241c7f7e76bfd8", - "reference": "b9e61a61e39e02dd90944e9115241c7f7e76bfd8", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/1e0cd5370df5dd2e556a36b9c62f62e555870495", + "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495", "shasum": "" }, "require": { @@ -10744,22 +10700,17 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/2.2.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.0" }, - "time": "2025-07-13T07:04:09+00:00" + "time": "2025-08-30T15:50:23+00:00" }, { "name": "phpstan/phpstan", - "version": "2.1.22", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan.git", - "reference": "41600c8379eb5aee63e9413fe9e97273e25d57e4" - }, + "version": "2.1.32", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/41600c8379eb5aee63e9413fe9e97273e25d57e4", - "reference": "41600c8379eb5aee63e9413fe9e97273e25d57e4", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e126cad1e30a99b137b8ed75a85a676450ebb227", + "reference": "e126cad1e30a99b137b8ed75a85a676450ebb227", "shasum": "" }, "require": { @@ -10804,25 +10755,25 @@ "type": "github" } ], - "time": "2025-08-04T19:17:37+00:00" + "time": "2025-11-11T15:18:17+00:00" }, { "name": "phpstan/phpstan-phpunit", - "version": "2.0.7", + "version": "2.0.8", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-phpunit.git", - "reference": "9a9b161baee88a5f5c58d816943cff354ff233dc" + "reference": "2fe9fbeceaf76dd1ebaa7bbbb25e2fb5e59db2fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/9a9b161baee88a5f5c58d816943cff354ff233dc", - "reference": "9a9b161baee88a5f5c58d816943cff354ff233dc", + "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/2fe9fbeceaf76dd1ebaa7bbbb25e2fb5e59db2fe", + "reference": "2fe9fbeceaf76dd1ebaa7bbbb25e2fb5e59db2fe", "shasum": "" }, "require": { "php": "^7.4 || ^8.0", - "phpstan/phpstan": "^2.1.18" + "phpstan/phpstan": "^2.1.32" }, "conflict": { "phpunit/phpunit": "<7.0" @@ -10855,40 +10806,40 @@ "description": "PHPUnit extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-phpunit/issues", - "source": "https://github.com/phpstan/phpstan-phpunit/tree/2.0.7" + "source": "https://github.com/phpstan/phpstan-phpunit/tree/2.0.8" }, - "time": "2025-07-13T11:31:46+00:00" + "time": "2025-11-11T07:55:22+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "12.3.4", + "version": "12.4.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "7ad0e9bdc72b147600badccd694a2e57ffc9297a" + "reference": "67e8aed88f93d0e6e1cb7effe1a2dfc2fee6022c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7ad0e9bdc72b147600badccd694a2e57ffc9297a", - "reference": "7ad0e9bdc72b147600badccd694a2e57ffc9297a", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/67e8aed88f93d0e6e1cb7effe1a2dfc2fee6022c", + "reference": "67e8aed88f93d0e6e1cb7effe1a2dfc2fee6022c", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^5.4.0", + "nikic/php-parser": "^5.6.1", "php": ">=8.3", "phpunit/php-file-iterator": "^6.0", "phpunit/php-text-template": "^5.0", "sebastian/complexity": "^5.0", - "sebastian/environment": "^8.0", + "sebastian/environment": "^8.0.3", "sebastian/lines-of-code": "^4.0", "sebastian/version": "^6.0", "theseer/tokenizer": "^1.2.3" }, "require-dev": { - "phpunit/phpunit": "^12.1" + "phpunit/phpunit": "^12.3.7" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -10897,7 +10848,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "12.3.x-dev" + "dev-main": "12.4.x-dev" } }, "autoload": { @@ -10926,7 +10877,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.3.4" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.4.0" }, "funding": [ { @@ -10946,7 +10897,7 @@ "type": "tidelift" } ], - "time": "2025-08-29T11:32:44+00:00" + "time": "2025-09-24T13:44:41+00:00" }, { "name": "phpunit/php-file-iterator", @@ -11195,16 +11146,16 @@ }, { "name": "phpunit/phpunit", - "version": "12.3.7", + "version": "12.4.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "b8fa997c49682979ad6bfaa0d7fb25f54954965e" + "reference": "fc5413a2e6d240d2f6d9317bdf7f0a24e73de194" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b8fa997c49682979ad6bfaa0d7fb25f54954965e", - "reference": "b8fa997c49682979ad6bfaa0d7fb25f54954965e", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fc5413a2e6d240d2f6d9317bdf7f0a24e73de194", + "reference": "fc5413a2e6d240d2f6d9317bdf7f0a24e73de194", "shasum": "" }, "require": { @@ -11218,17 +11169,17 @@ "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.3", - "phpunit/php-code-coverage": "^12.3.3", + "phpunit/php-code-coverage": "^12.4.0", "phpunit/php-file-iterator": "^6.0.0", "phpunit/php-invoker": "^6.0.0", "phpunit/php-text-template": "^5.0.0", "phpunit/php-timer": "^8.0.0", - "sebastian/cli-parser": "^4.0.0", + "sebastian/cli-parser": "^4.2.0", "sebastian/comparator": "^7.1.3", "sebastian/diff": "^7.0.0", "sebastian/environment": "^8.0.3", - "sebastian/exporter": "^7.0.0", - "sebastian/global-state": "^8.0.0", + "sebastian/exporter": "^7.0.2", + "sebastian/global-state": "^8.0.2", "sebastian/object-enumerator": "^7.0.0", "sebastian/type": "^6.0.3", "sebastian/version": "^6.0.0", @@ -11240,7 +11191,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "12.3-dev" + "dev-main": "12.4-dev" } }, "autoload": { @@ -11272,7 +11223,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/12.3.7" + "source": "https://github.com/sebastianbergmann/phpunit/tree/12.4.1" }, "funding": [ { @@ -11296,20 +11247,20 @@ "type": "tidelift" } ], - "time": "2025-08-28T05:15:46+00:00" + "time": "2025-10-09T14:08:29+00:00" }, { "name": "sebastian/cli-parser", - "version": "4.0.0", + "version": "4.2.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "6d584c727d9114bcdc14c86711cd1cad51778e7c" + "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/6d584c727d9114bcdc14c86711cd1cad51778e7c", - "reference": "6d584c727d9114bcdc14c86711cd1cad51778e7c", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/90f41072d220e5c40df6e8635f5dafba2d9d4d04", + "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04", "shasum": "" }, "require": { @@ -11321,7 +11272,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "4.2-dev" } }, "autoload": { @@ -11345,15 +11296,27 @@ "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/4.0.0" + "source": "https://github.com/sebastianbergmann/cli-parser/tree/4.2.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/cli-parser", + "type": "tidelift" } ], - "time": "2025-02-07T04:53:50+00:00" + "time": "2025-09-14T09:36:45+00:00" }, { "name": "sebastian/comparator", @@ -11650,16 +11613,16 @@ }, { "name": "sebastian/exporter", - "version": "7.0.0", + "version": "7.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "76432aafc58d50691a00d86d0632f1217a47b688" + "reference": "016951ae10980765e4e7aee491eb288c64e505b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/76432aafc58d50691a00d86d0632f1217a47b688", - "reference": "76432aafc58d50691a00d86d0632f1217a47b688", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/016951ae10980765e4e7aee491eb288c64e505b7", + "reference": "016951ae10980765e4e7aee491eb288c64e505b7", "shasum": "" }, "require": { @@ -11716,15 +11679,27 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/7.0.0" + "source": "https://github.com/sebastianbergmann/exporter/tree/7.0.2" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", + "type": "tidelift" } ], - "time": "2025-02-07T04:56:42+00:00" + "time": "2025-09-24T06:16:11+00:00" }, { "name": "sebastian/global-state", @@ -12331,6 +12306,64 @@ } ], "time": "2024-03-03T12:36:25+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.12.1", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "9be6926d8b485f55b9229203f962b51ed377ba68" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/9be6926d8b485f55b9229203f962b51ed377ba68", + "reference": "9be6926d8b485f55b9229203f962b51ed377ba68", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-date": "*", + "ext-filter": "*", + "php": "^7.2 || ^8.0" + }, + "suggest": { + "ext-intl": "", + "ext-simplexml": "", + "ext-spl": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.12.1" + }, + "time": "2025-10-29T15:56:20+00:00" } ], "aliases": [], diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 5faf1349..462364cc 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -42,6 +42,12 @@ parameters: count: 1 path: app/Exceptions/Handler.php + - + message: '#^Invalid array key type float\.$#' + identifier: offsetAccess.invalidOffset + count: 2 + path: app/Helpers/File.php + - message: '#^Method App\\Helpers\\MonologLogFmtFormatter\:\:convertToString\(\) has parameter \$data with no type specified\.$#' identifier: missingType.parameter @@ -3318,6 +3324,12 @@ parameters: count: 1 path: app/Models/Committee/Role.php + - + message: '#^Property App\\Models\\Committee\\Role\:\:\$order \(int\<0, max\>\) does not accept int\<\-1, max\>\.$#' + identifier: assign.propertyType + count: 1 + path: app/Models/Committee/Role.php + - message: '#^Access to an undefined property object\:\:\$original\.$#' identifier: property.notFound @@ -4734,12 +4746,6 @@ parameters: count: 1 path: app/Models/Quote.php - - - message: '#^Method App\\Models\\Quote\:\:getHtmlAttribute\(\) should return string but returns list\\|string\.$#' - identifier: return.type - count: 1 - path: app/Models/Quote.php - - message: '#^PHPDoc type array of property App\\Models\\Quote\:\:\$casts is not covariant with PHPDoc type array\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$casts\.$#' identifier: property.phpDocType @@ -5071,7 +5077,7 @@ parameters: path: app/Models/Resources/Resource.php - - message: '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, list\\|string\|null given\.$#' + message: '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, array\\|string\|null given\.$#' identifier: argument.type count: 1 path: app/Models/Resources/Resource.php @@ -5491,7 +5497,7 @@ parameters: path: app/Models/Users/User.php - - message: '#^Method App\\Models\\Users\\User\:\:getTypeAttribute\(\) should return int but returns int\|null\.$#' + message: '#^Method App\\Models\\Users\\User\:\:getTypeAttribute\(\) should return int but returns int\<0, max\>\|null\.$#' identifier: return.type count: 1 path: app/Models/Users/User.php @@ -5718,6 +5724,12 @@ parameters: count: 1 path: app/Models/Users/User.php + - + message: '#^Offset 0\|1\|2\|3\|4\|5 might not exist on array\{''red'', ''orange'', ''yellow'', ''green'', ''blue'', ''purple''\}\|array\{0\: ''black''\|''blue''\|''brown''\|''earth''\|''green''\|''grey''\|''orange''\|''pink''\|''purple''\|''rainbow''\|''red''\|''turquoise''\|''white''\|''yellow'', 1\?\: ''green''\}\.$#' + identifier: offsetAccess.notFound + count: 1 + path: app/Models/Users/User.php + - message: '#^PHPDoc type array of property App\\Models\\Users\\User\:\:\$casts is not covariant with PHPDoc type array\ of overridden property Illuminate\\Database\\Eloquent\\Model\:\:\$casts\.$#' identifier: property.phpDocType @@ -6667,7 +6679,7 @@ parameters: path: app/Services/QuoteService.php - - message: '#^Binary operation "\." between ''/\^'' and list\\|string results in an error\.$#' + message: '#^Binary operation "\." between ''/\^'' and array\\|string results in an error\.$#' identifier: binaryOp.invalid count: 1 path: app/Validation/Validator.php @@ -6853,7 +6865,7 @@ parameters: path: database/migrations/2017_12_01_000006_create_resources_tables.php - - message: '#^Binary operation "\." between non\-falsy\-string and list\\|string results in an error\.$#' + message: '#^Binary operation "\." between non\-falsy\-string and array\\|string results in an error\.$#' identifier: binaryOp.invalid count: 1 path: modules/StaticPage/app/Providers/StaticPageServiceProvider.php @@ -7579,7 +7591,7 @@ parameters: path: packages/WebDevTools/Laravel/Traits/UsesSoftDeletes.php - - message: '#^Binary operation "\." between ''/\^'' and list\\|string results in an error\.$#' + message: '#^Binary operation "\." between ''/\^'' and array\\|string results in an error\.$#' identifier: binaryOp.invalid count: 1 path: packages/WebDevTools/Laravel/Validation/Validator.php