1.12.1
版本发布时间: 2024-09-04 04:01:17
phpstan/phpstan最新发布版本:1.12.6(2024-10-06 23:06:59)
Bleeding edge 🔪
- Check if required file exists (#3294), #3397, thanks @Bellangelo!
- Check generics
@method
@template
tags above traits (https://github.com/phpstan/phpstan-src/commit/aadbf62d3ae4517fc7a212b07130bedcef8d13ac) - Check
@mixin
PHPDoc tag above traits (https://github.com/phpstan/phpstan-src/commit/0d0de946900adf4eb3c799b1b547567536e23147)
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 dot-prefixed config files (#3354), thanks @sreichel!
- Respect dist order over dot order (#3379), thanks @VincentLanglet!
- Update PhpStorm stubs + refactor WithoutSideEffectsRule classes (#3377), thanks @VincentLanglet!
- TypeSpecifier: Narrow
(bool) $expr
like$expr != false
(#3380), #8881, #7685, #6006, #10528, thanks @staabm! - TypeSpecifier: Narrow
(string) $expr
like$expr != false
(#3387), thanks @staabm! - TypeSpecifier: Narrow
(int) $expr
like$expr != false
(#3384), thanks @staabm! - TypeSpecifier: Narrow
(float) $expr
like$expr != false
(#3391), thanks @staabm! - Add missing rule to StubValidator (https://github.com/phpstan/phpstan-src/commit/085fcf40fefa63fc3672897276e460a6405206fb)
- Support
@mixin
above traits (https://github.com/phpstan/phpstan-src/commit/f5e2e32932644d61b3745e3b0f2c0910f722a86d)
Bugfixes 🐛
- Fix
array_filter
with callback optional persistance (#3366), #11570, thanks @robotomarvin! - RegexArrayShapeMatcher - infer constant string types in alternations (#3369), #11222, thanks @staabm!
- RegexArrayShapeMatcher - improve type inference in alternations (#3375), thanks @staabm!
- Fix error on offset assignment to specialized strings (#3365), #11572, thanks @staabm!
- Narrow string on
strlen() ==
and===
comparison with integer range (#3342), #11548, thanks @staabm! - Fix
get_debug_type
produces wrong type for anonymous classes with parent (#3374), #11562, thanks @patrickkusebauch! - Fix preserving list when setting union offset type to a ConstantArrayTypeBuilder (#3382), thanks @VincentLanglet!
- Fix
preg_replace()
return type (#3338), #11547, thanks @staabm! - Detect function variadic-ness anywhere deep in the declaration file (#3370), #11559, #4753, thanks @staabm!
- Add DateTimeSubMethodThrowTypeExtension (#3378), #11503, thanks @VincentLanglet!
- Do not report
static
in PHPDoc tags above traits as an error (https://github.com/phpstan/phpstan-src/commit/777a82a0dc9d6a64a709c30a2e5bdb030b634464), #11591 - RegexArrayShapeMatcher - Fix alternations containing a
$
-only case (#3394), #11622, thanks @staabm! - Do not report missing implementation abstract method from trait when it's implicitly implemented by enum (https://github.com/phpstan/phpstan-src/commit/c50b71fd961e9009419b8fddac835b15696f4ff5), #11592
- Fix how well conditional types play with pre-existing
@param-out
variable after assignment (https://github.com/phpstan/phpstan-src/commit/5892e8debfbe2f44306e6707c457665784b7dacd), #11580, #6642
Internals 🔍
- Debugging function -
PHPStan\debugScope()
(https://github.com/phpstan/phpstan-src/commit/5909fb2dc78cbee46927c2cb23f7491dfef34165) - Added regression test (#3368), #7856, thanks @staabm!
- Simplify specifyTypesForConstantBinaryExpression (#3392), thanks @staabm!
- Refactoring: introduce MethodTagTemplateTypeCheck (https://github.com/phpstan/phpstan-src/commit/47a85bf1453a076bade7a30c94c06c0825abca7c)
- Simplify extensions (https://github.com/phpstan/phpstan-src/commit/c47730f1f97e4dc6ca9f120e2675ca709fc1402c)
- Refactoring - extract MixinCheck (https://github.com/phpstan/phpstan-src/commit/57ccd8c4d4b16c7edec4c2c2de8589956de8284d)
- MixinCheck - prepare for trait rules (https://github.com/phpstan/phpstan-src/commit/ba591420c26b174ae561e26aeed01ccf34da9dee)
1、 phpstan.phar 22.41MB
2、 phpstan.phar.asc 833B