1.11.10
版本发布时间: 2024-08-08 17:06:17
phpstan/phpstan最新发布版本:1.12.6(2024-10-06 23:06:59)
Bleeding edge 🔪
- Precise array shape for
preg_replace_callback()
$matches
(#3281), thanks @staabm! - Report invalid exclude paths in PHP config (https://github.com/phpstan/phpstan-src/commit/9718c14f1ffac81ba3d2bf331b4e8b4041a4d004)
If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's phpstan.neon
:
includes:
- vendor/phpstan/phpstan/conf/bleedingEdge.neon
Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. Learn more
Improvements 🔧
- Allow nonexistent paths in excludePaths by appending
(?)
(https://github.com/phpstan/phpstan-src/commit/39649c2b9db016edabdb813dfe39ae0fd46e0c09, https://github.com/phpstan/phpstan-src/commit/be65babffe40c48c303411abf8a56116a274b893), #11436 - Do not report nonexistent paths in ignoreErrors if
reportUnmatchedIgnoredErrors: false
(https://github.com/phpstan/phpstan-src/commit/b7fe9900d5933ffdbdeeb2b10877fd2764cb8bb8), #11436 - Narrow tagged unions based on
count()
with array size (#3302), thanks @staabm!
Bugfixes 🐛
- RegularExpressionPatternRule: fix false positive in preg_quote() handling (#3280), #11432, thanks @staabm!
- Support literal strings in RegexGroupParser (#3284), thanks @staabm!
- Support classes of literal strings in RegexGroupParser (#3285), thanks @staabm!
- Don't infer constant types for "i"-modfied patterns (#3288), thanks @staabm!
- Support non-falsy-string in RegexGroupParser (#3289), thanks @staabm!
- RegexGroupParser: Ignore whitespaces on "x"-modified patterns (#3291) (#3291), thanks @staabm!
- RegexArrayShapeMatcher: fix preg_match_all with PREG_OFFSET_CAPTURE (#3292), #11457, thanks @staabm!
- RegexArrayShapeMatcher - Fix subject types (#3300), thanks @staabm!
- Fix
ConstantArrayType::isSuperTypeOf()
for empty array (https://github.com/phpstan/phpstan-src/commit/ed6bc0b93499b5c7463ba05aefb1377b9eb9d1e0) - is_resource: adjust type specification for truthy context only (#3298), #9687, thanks @janedbal!
- Fix loose comparison between '1' and '+1' (#3301), thanks @thg2k!
Function signature fixes 🤖
- Update some mysqli function return types (#3279), #8345, thanks @mattschlosser!
Internals 🔍
- Extracted RegexGroupParser from RegexArrayShapeMatcher (#3278), thanks @staabm!
- E2E test about path validation in ignoreErrors and excludePaths (https://github.com/phpstan/phpstan-src/commit/9246976958fb22e3464f7a25ef2ab97caed5aa44)
- RegularExpressionPatternRuleTest: utilize
preg_match()
array shape tests (#3290), thanks @staabm! - Simplify RegexArrayShapeMatcher (#3293), thanks @staabm!
- Refactor RegexGroupParser - extract RegexAlternation class (#3296), thanks @staabm!
1、 phpstan.phar 22.27MB
2、 phpstan.phar.asc 833B