@psalmphpi
iAccount based inItaly
About this account
- Account based in
- Italy
- Connected via
- Web
Account-level information from X, not a live location or the device used for a specific post.
Psalm is a type-checking static analysis tool for PHP that finds bugs humans can miss, and improves code quality. Try it at https://nitter.cf/t.co/eBajkMPMkn
CI builds
Joined December 2018
- Tweets771
- Following6
- Followers3.5K
- Likes358
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!
blog.daniil.it/2025/07/10/ps…
Psalm retweeted
Replying to @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!
github.com/php/php-src/pull/…
Announcing the official, hyperoptimized Psalm docker image, +50% faster than Psalm on normal PHP!
blog.daniil.it/2025/07/10/of…
Introducing the new psalm-review tool: blog.daniil.it/2025/05/18/ps…
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: blog.daniil.it/2025/05/11/ps…
Psalm 5 is out! To symbolise this tremendous group effort we've translated the announcement into all the languages of Psalm's maintainers: psalm.dev/articles/psalm-5
Psalm retweeted
Running @psalmphp on my tests code has been a good decision so far. Makes it far easier to keep tests updated. Automation for the win!
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.
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).
Psalm retweeted
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
github.com/cspray/phinal
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: forum.nette.org/cs/35223-php…
New type just dropped: Psalm 4.8 supports a new literal-string type which you can use to prevent SQL-injection attacks: psalm.dev/r/55dec032b9
Find out more here: github.com/vimeo/psalm/relea…
Psalm retweeted
Me: 'Going from @psalmphp level 2 to level 1, how bad can it be?'
Psalm: 533 errors found
Psalm retweeted
As JetBrains we condemn the attacks taking place. Our hearts are with the Ukrainian people, including our own colleagues and their families.
Psalm retweeted
Done and done. phpcs applies my coding standard consistently and psalm statically analyzes codebase to make sure all types are correct. 99.5035% type safe according to psalm.
Replying to @jwage
80% is excellent IMO.
Now just add some linting and code quality rules and you are winning at life ;)
Psalm retweeted
👋 We're hiring a Senior Software Engineer in Berlin or remote! 💻 Build high-quality supply chain tools for thousands of devs in the PHP ecosystem 🐘 with the makers of #composerphp #php #phpc
Psalm retweeted
While most of the work on Psalm is about getting it understand your code right, there's a place for UI improvements as well.
There are several that are either already shipped or coming soon:
1. Psalm now linkifies files in supporting terminals (thanks to @gregorharlan)
While most of the work on Psalm is about getting it understand your code right, there's a place for UI improvements as well.
There are several that are either already shipped or coming soon:
1. Psalm now linkifies files in supporting terminals (thanks to @gregorharlan)