Also announcing the public beta of Psalm v7, with up to 10x performance improvements for security analysis, a new combined analysis mode and much more!
https://t.co/MT6Bk1O9yS
@psalmphp I've also contributed the underlying deepbind patch to upstream PHP, and it will be available for everyone to use in PHP 8.5!
https://t.co/3aoE8uBwX2
@infection_php@phpstan Posted an implementation tip: switching infection to amphp/parallel with our ForkContext would be great for performance, and would also allow super simple Psalm integration!
Announcing a new series of blogposts about Psalm v6's innovative performance improvements!
Starting with Psalm 6.1 Deep Dive: Copy-on-Write + dynamic task dispatching: https://t.co/dyN4TyZo1j
Psalm 5 is out! To symbolise this tremendous group effort we've translated the announcement into all the languages of Psalm's maintainers: https://t.co/komA0g9BhK
@jwage@nateritter@phpstan Psalm has a few features like security analysis and unused code detection, along with more rigorous analysis of if statements
@jwage You ready to make your code ludicrously safe? Then set rememberPropertyAssignmentsAfterCall to false, set findUnusedCode to true, ensureArrayStringOffsetsExist to true and ensureArrayIntOffsetsExist to true.
If people want PHP generics then someone should create an RFC for erased-at-runtime generics. Erased-at-runtime types in PHP would be an insurmountable language shift for some voters, but maybe there’s enough support to carry it through.
It’s very unlikely that generics would be The Thing That Finally Makes Doubters Take PHP Seriously. But support for generics in PHP syntax (vs docblocks) would make a lot of code a little more beautiful than it is today.
All the major static analysis tools would quickly adapt, and there’s precedent in Python, which added support for type-erased generics (without a bundled typechecker to accompany that change).
Wrote a @psalmphp plugin to ensure I'm marking classes as final properly. If a concrete class does need to be inherited you can mark it with an Attribute to suppress the error.
#php
https://t.co/WnKWaUqOst
The literal-string type continues to do good work! It's now also supported in @phpstan (thx to @craigfrancis), which caught a SQL injection bug here: https://t.co/uSapTqgLCn
New type just dropped: Psalm 4.8 supports a new literal-string type which you can use to prevent SQL-injection attacks: https://t.co/6iYoHZXPJ3
Find out more here: https://t.co/Q28X0pDzHQ