Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Phpstan Strict Rules Laravel Package

phpstan/phpstan-strict-rules

Extra strict, opinionated PHPStan rules for strongly typed PHP. Catches loose/unsafe patterns like non-boolean conditions, useless casts, non-numeric arithmetic, missing strict flags in in_array/array_search, variable overwrites in loops, and switch type mismatches.

View on GitHub
Deep Wiki
Context7
2.0.10
  • 1aba28b - Bleeding edge - set reportNonIntStringArrayKey to true
2.0.9
  • b94a0b1 - Bleeding edge - Add operand types to DisallowedLooseComparisonRule error message
  • f6f5b3e - Update WyriHaximus/github-action-get-previous-tag action to v2
  • f602823 - Add keywords for static analysis in composer.json
2.0.8
  • 1ed9e62 - Allow literal string dynamic property
  • 7493a9f - Update dessant/lock-threads action to v6
  • 796f9c9 - Update actions/checkout action to v6
  • 3dcd0b8 - Remove duplicate rules in Readme
2.0.7
  • d6211c4 - enable checkStrictPrintfPlaceholderTypes
  • 6b78d53 - Update README.md
  • 0435aeb - Consolidate overwriteVariablesWithLoop rule details
  • e861638 - Simplify tests in which checkNullables is always true
  • 11b6403 - Simplify tests in which treatPhpDocTypesAsCertain is always true
  • b043bd8 - Simplify RequireParentConstructCallRule
  • 9f76a17 - Update actions/checkout action to v5
  • 2b69ec5 - Update Eomm/why-don-t-you-tweet action to v2
2.0.6
  • f9f77ef - Add numeric check on unary plus and unary minus
2.0.5
  • 1f1358d - UselessCastRule: do cheaper check first
  • 73c5baa - Update metcalfc/changelog-generator action to v4.6.2
  • f203fec - Match Rule Descriptions with Configuration Parameters in README.md
  • 3ecc310 - Use relative links for rules.neon
  • 04f299f - Update metcalfc/changelog-generator action to v4.5.0
2.0.4
2.0.3
  • 8b88b5f - Deprecated parent constructor must not be called
2.0.2
  • 02277ce - Merge remote-tracking branch 'origin/1.6.x' into 2.0.x
  • ed6fea0 - Added strictRulesInstalled parameter
  • a4a6a08 - Remove dead test because of raised min-php version
  • b60bffc - Fix
  • 5d50bde - Fix
  • 0368403 - Fix
  • 1721dbf - Fix after PHPStan update
  • e208c93 - Fix after PHPStan update
  • 63956f7 - Moved illegalConstructorMethodCall rules from phpstan to phpstan-strict-rules
  • ad53bd9 - Remove options removed in PHPStan 2.0
  • 914b5e3 - Everything from Bleeding Edge enabled
  • 988fab9 - Add more separate rule toggles
  • e227ffd - Merge remote-tracking branch 'origin/1.6.x' into 2.0.x
  • 90006f2 - Merge branch '1.6.x' into 2.0.x
  • 1062d48 - Fix
  • 5eec39f - Set polluteScopeWithBlock to false
  • 8e2c8b0 - Fix deprecations
  • 1ccec91 - Remove unnecessary dependency on nikic/php-parser
  • f8092f9 - Update build-cs
  • f647999 - Stop testing PHP 7.2 and 7.3
  • f6fb84e - Open 2.0.x
1.6.2
  • b564ca4 - Handle SimpleXMLElement in VariablePropertyFetchRule
  • ed6fea0 - Added strictRulesInstalled parameter
  • a4a6a08 - Remove dead test because of raised min-php version
  • b60bffc - Fix
  • 5d50bde - Fix
  • 0368403 - Fix
  • 1721dbf - Fix after PHPStan update
  • e208c93 - Fix after PHPStan update
  • 63956f7 - Moved illegalConstructorMethodCall rules from phpstan to phpstan-strict-rules
  • ad53bd9 - Remove options removed in PHPStan 2.0
  • 914b5e3 - Everything from Bleeding Edge enabled
  • 988fab9 - Add more separate rule toggles
  • e227ffd - Merge remote-tracking branch 'origin/1.6.x' into 2.0.x
  • 90006f2 - Merge branch '1.6.x' into 2.0.x
  • 1062d48 - Fix
  • 5eec39f - Set polluteScopeWithBlock to false
  • 8e2c8b0 - Fix deprecations
  • 1ccec91 - Remove unnecessary dependency on nikic/php-parser
  • f8092f9 - Update build-cs
  • f647999 - Stop testing PHP 7.2 and 7.3
  • f6fb84e - Open 2.0.x
2.0.1
  • ed6fea0 - Added strictRulesInstalled parameter
2.0.0
  • a4a6a08 - Remove dead test because of raised min-php version
  • b60bffc - Fix
  • 5d50bde - Fix
  • 0368403 - Fix
  • 1721dbf - Fix after PHPStan update
  • e208c93 - Fix after PHPStan update
  • 63956f7 - Moved illegalConstructorMethodCall rules from phpstan to phpstan-strict-rules
  • ad53bd9 - Remove options removed in PHPStan 2.0
  • 914b5e3 - Everything from Bleeding Edge enabled
  • 988fab9 - Add more separate rule toggles
  • e227ffd - Merge remote-tracking branch 'origin/1.6.x' into 2.0.x
  • 90006f2 - Merge branch '1.6.x' into 2.0.x
  • 1062d48 - Fix
  • 5eec39f - Set polluteScopeWithBlock to false
  • 8e2c8b0 - Fix deprecations
  • 1ccec91 - Remove unnecessary dependency on nikic/php-parser
  • f8092f9 - Update build-cs
  • f647999 - Stop testing PHP 7.2 and 7.3
  • f6fb84e - Open 2.0.x
1.6.1
1.6.0
  • 363f921 - Update lock-closed-issues.yml
  • bd4fada - Merge remote-tracking branch 'origin/1.5.x' into 1.6.x
  • c7b4d28 - Merge remote-tracking branch 'origin/1.5.x' into 1.6.x
  • 1a51fae - Merge remote-tracking branch 'origin/1.5.x' into 1.6.x
  • b5233d5 - Fix build
  • d0dc2f0 - Update README.md
  • 85fdc50 - Merge remote-tracking branch 'origin/1.5.x' into 1.6.x
  • 3d0ba5f - Merge remote-tracking branch 'origin/1.5.x' into 1.6.x
  • 3d33475 - Fix UselessCastRuleTest.
  • 2bc3967 - Update metcalfc/changelog-generator action to v4.3.1
  • 5981dc4 - Update cbrgm/mastodon-github-action action to v2
  • 2090cfc - Update metcalfc/changelog-generator action to v4.2.0
  • 1b125fb - Update dessant/lock-threads action to v5
  • a3b0404 - Merge branch '1.5.x' into 1.6.x
  • 3a67365 - Merge branch '1.5.x' into 1.6.x
  • 50aab8d - Open 1.6.x-dev
  • aeaa022 - Update actions/checkout action to v4
  • b7edb14 - Rename abstract OperandInArithmeticIncrementOrDecrementRuleTest
  • 88e714c - BooleanInBooleanAndRule, BooleanInBooleanOrRule - different identifier and description for logical operators
  • 477f53a - Error identifiers
  • 872bc91 - Removed some errors from RequireParentConstructCallRule - already reported by PHPStan core
  • bd3aa8b - Modernized rules with generics and RuleErrorBuilder
  • cca41e8 - Require PHPStan 1.11
  • 5c143aa - Next-gen coding standard workflow
  • a1891b4 - Update dependency slevomat/coding-standard to v8.12.0
  • fa91928 - Update dependency slevomat/coding-standard to v8.11.1
  • 1b9b85f - Update dependency slevomat/coding-standard to v8.11.0
  • 35fda6c - Update dependency slevomat/coding-standard to v8.10.0
  • ce264e3 - Update build-cs
1.5.5
  • 2e193a0 - ArrayFilterStrictRule - get rid of different behavour with treatPhpDocTypesAsCertain: false
1.5.4
  • 8afd4af - Loosen up ArrayFilterStrictRule for unions with clearly truthy/falsey types
1.5.3
  • 568210b - Introduce strict array_filter call (require callback method)
  • 4723149 - Require PHPStan 1.10.60
  • 2fc12e5 - Fix UselessCastRuleTest.
1.5.2
  • 7a50e96 - Fix
  • 5ae7a3d - StrictFunctionCallsRule - support named arguments
1.5.1
  • b21c03d - DynamicCallOnStaticMethodsRule - do not report for methods declared on PHPStanTestCase and TypeInferenceTestCase
  • ce25f06 - Update dependency slevomat/coding-standard to v8.9.0
  • b3a558c - Update PHPCS
  • d811ef6 - Update metcalfc/changelog-generator action to v4.1.0
1.5.0
  • b7dd96a - Strict operator type check for assign operations
  • 66b378f - Allow to increment strings
  • a7ac762 - Fix build
  • 063a7fd - Fix deprecations
  • c753126 - Enable reportWrongPhpDocTypeInVarTag in bleedingEdge
  • 2595a76 - Require PHPStan 1.10
  • a606515 - Update workflow
1.4.5
  • 361f75b - OperandsInArithmeticAdditionRule - allow benevolent unions of arrays
  • 2ffa76a - Update release-toot.yml
  • 86da8eb - Create release-toot.yml
  • 4790ecb - Update dessant/lock-threads action to v4
  • caf80fc - Update metcalfc/changelog-generator action to v4
  • 5a05cc4 - Fix test
  • 00dd4fa - Fix build
1.4.4
  • 23e5f37 - Configuration option strictRules.disallowedLooseComparsion
1.4.3
  • 431b3d6 - Fix wrong error when function is rebound.
  • 1f3b649 - Add regression test for non-looping loops
1.4.2
  • 4e57160 - Revert "Add regression test for non-looping loops"
1.4.1
  • 749afc7 - Configuration parameters to enable/disable rules - fix for VariablePropertyFetchRule
  • 6f0133d - Add regression test for non-looping loops
1.4.0
1.3.0
  • 543675a - Fix workflow
  • f6586fa - Fix WrongCaseOfInheritedMethodRule
  • 6ec99ba - Require PHPStan 1.7.15
  • 484a051 - Bleeding edge - rule to disallow loose comparisons
  • 110818b - chore(deps): update dependency slevomat/coding-standard to v7.2.1
  • 2058d10 - chore(deps): update dependency slevomat/coding-standard to v7.2.0
  • 1a4ed28 - Merge tag '1.2.3' into 1.2.x
  • 4855249 - Require PHPStan 1.7.0
1.2.3
  • 0c82c96 - Move IllegalConstructorMethodCallRule and IllegalConstructorStaticCallRule to phpstan-strict-rules
1.2.2
  • c0b61e2 - RequireParentConstructCallRule - fix abstract constructors
1.2.1
  • f3ca646 - Turn on checkAlwaysTrueLooseComparison
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport