
Find bugs in your code without writing tests! Created by @OndrejMirtes
Joined July 2016
- Tweets1.6K
- Following1
- Followers9K
- Likes48
PHPStan retweeted
If all the govs shutting down servers for a PHP update, all the hosters & enterprises terrified by the vuln, gave $100k, or just $50k a year to the PHP Foundation, things could look very differently. Go, make your employer sponsor *today* thephp.foundation/sponsor/ #php #phpc @ThePHPF
PHPStan retweeted
Caching Composer dependencies in GitHub Actions is easy thanks to the lock file. But what about a tool like PHPStan that has no lock file to hash? masteringlaravel.io/daily/20…
PHPStan retweeted
Before: oh, the Symfony DIC changed slightly, let’s nuke the whole result cache
Now: we changed parameter X in Symfony config, the result cache will reanalyse only the files asking about it
#phpstan 2.3.x added new dependency tracking APIs which allow custom extensions/rules to declare values/files they depend on.
todays #phpstandba 0.5 release uses the new APIs, which allows us to re-analyze only code depending on the database schema when it changes.
PHPStan retweeted
I wanted to stop controllers calling external services, however deep in the call graph.
So I built a PHPStan extension: mark external calls as 'slow', forbid 'slow' in controllers, and let it flag violations. Probably has many other uses too.
github.com/DaveLiddament/php…
PHPStan retweeted
Same performance, smaller package
PHPStan 2.3.0 was chonky! It weighed 104 MB when downloaded and 268 MB after being unzipped in your vendor/.
I just released PHPStan 2.3.1 that weighs just under 28 MB when downloaded and 87 MB unzipped. While preserving all the Turbo binaries.
PHPStan retweeted
PHPStan analysing the WordPress codebase took 60.51 seconds back in december.
With PHPStan 2.3 + Turbo: 7.93 seconds.
That’s the kind of dev improvement I get excited about💪
PHPStan retweeted
Tried PHPStan 2.3.0 on our Laravel 13 project: cold analysis dropped from 40.86s to 17.88s with Turbo enabled — 2.29× faster! Same code/config, up to 6 workers.
Thanks for the release!
** switched PHP 8.4 ZTS → NTS to enable Turbo. Warm cache: ~1.6s in both.
PHPStan retweeted
Replying to @OndrejMirtes
@OndrejMirtes wasn't kidding with the speed improvement 🤯
it also uses less memory
PHPStan retweeted
Replying to @Sir_Mishaa @OndrejMirtes
Ran PHPStan 2.3.0 on my work codebase, a large funeral services ERP (5,600+ files, 550k lines of Laravel), and asked the AI to chart the difference.
Full cold analysis: 52.7s → 14.8s. 3.6× faster
That's impressive work. It also caught 5 new real errors.
PHPStan retweeted

m@ttias ⚡️@mattiasgeniarOct 6
Belgium
BelgiumConnected via Belgium App StoreAccount-level information, not a live location or per-post device.
No-brainer upgrade, the testsuite for getsnapkin.app/ just got cut in half with zero effort 🥳
The PHPStan blogpost is also a marvel to read 👏
PHPStan retweeted
The interactive widgets in the article are useful when trying to understand what the new features do to inferred types:
PHPStan retweeted
PHPStan 2.3.0 is out with massive leap in performance, generics improvements, detecting unused variables, improved closure type inference, inferring static variable types from assignments, and engine rewrite!
PHPStan retweeted
Had an idea today after lunch and basically one-shotted a solution for the currently most-upvoted PHPStan feature request:
PHPStan retweeted
After my summer break I am back at my primary job. Started updating #phpstan in our closed source projects CI.
one example:
PHPStan 2.2.5: 70s
PHPStan 2.2.14: 37s
nice to see our recent #performance focus pays off in real world projects 🚀
PHPStan retweeted
just supported #kimai with a drive-by #phpstan improvement for their GitHub Actions pipeline
status quo was: 66s
after disabling pcov: 53s
after update to PHP8.3 - which enables PHPStan turbo: 34s
with persistent and warm result-cache: 4s
github.com/kimai/kimai/pull/…
PHPStan retweeted
PHPStan level 8 on Laravel is brutal but worth it.
Went from 0 to 8, then applied the pattern to 4 projects for now. Caught real bugs, not style nits.



















