Instant Upgrades and Instant Refactorings for PHP Applications. Why do it manually? #rectorphp Created by @votrubaT

PHP Community
Joined December 2018
Welcome to patient zero Covid-moment of PHP Hope everyone will be safe by the end of this week 🙏
Couldn't say better than this. The number of wrong info posted all over socials about this topic is pretty unbelievable.
1
1
21
2,044
Not bad improvement for the most used rule in @rectorphp 😍
2
15
985
Stuck on legacy in a minefield? We’ll upgrade it for you: getrector.com/hire-team/
35 of 57 PHP & framework versions are end-of-life today. Zero security patches, ever. PHP 8.2 has ~72 days left. 8.1 is already dead. I made interactive page, so you can check where your stack stands 👇 tomasvotruba.com/patch-or-pe…
2
5
892
Inspired by Mago/PHPStan and Rust/Go speed results, poking agents to find slow spots in @rectorphp It's amazing how obvious improvements some checks are, once you see them, like this one:
2
23
1,642
PHPStan: 60 seconds Mago (Rust): 3 seconds I thought it was AI slop. Then I went down the rabbit hole... and ended up learning Go 😅 Is PHP becoming a "Rusty" language? 👇 tomasvotruba.com/blog/is-php…
6
7
1
99
8,216
If you think your PHP codebase is in a great shape, I got another challenge (and truth) for you 😉 PHPStan level 8, Rector and ECS running at top levels... still found 900 mixed types... Very dangerous to have these in codebase☢️
I got another code-quality challange for you! Did you known PHPStan skips analysis on mixed types? Level 8. And so do IDEs. The "getId()" might be missing or private, but nobody cares
2
18
1,182
3 books sold just over weekend 😍 And they say technical books are dead! (btw, this book it not about code) leanpub.com/upgrade-every-da…
1
2
835
Now this is cool and generic PHPStan rule... ...whenever you pass union of object types, and return the same union (-/+ null), the type is most likely generics. Now spotted in CI 😋
1
2
2
12
4,040
This applies for any online/IT/keyboard-based profession. 5 years ago I started to learn skill of electrician, plumber, builder, excavator, gardener and house reconstruction planner/manager. Many fails, much knowledge and skills obtained. Most of those are now better paid than devs and and in-shortage in my country. Handyman who can fix your issue the month you call are gold.
As a software engineer of 18 years, I'm telling you now. Diversify your income.
8
3
1
22
5,679
I'm freezing my book "Upgrade Every Day" at 90 %. ~280 pages hand-written in 2024-2026. But since spring 2026 agents changed how we upgrade code, and reading a tech book is now the slowest way to learn Chapters are there to read leanpub.com/upgrade-every-da…
2
3
15
1,492
It seems Rust is handling big projects really really well, mid-size even better ECS in PHP: 50 s ECS in Go: 4 s ECS in Rust: 0.8 s 😱
9
5
155
25,078
Why use Go/Rust tooling for PHP projects? Apart speed, my favorite reason is freedom: * It runs on any PHP 5-9 and will forever, no conflicts * It runs on any set of dependencies, legacy, modern, latest framework, Zend 1, Symfony 1, Laravel 4... you name it - no conflicts, never! Go compiles to own binar and does not need exact set of this or that PHP dependency. Anyone can install it, anywhere :)
8
10
1
91
10,051
surprisignly, daily job of master upgrader is not to upgrade a code. It's to increase confidence in the codebase, that is nearly zero at the start. By building safety net with tests, static analysis, automated tooling, but also by teaching dev team in the team to make use of these tools. Work less, be more lazy and remember less. This is the kaizen approach that yield best codebase shape. They're more fun to work with and maintain in time.
1
2
10
1,223
New @rectorphp 2.6.5 comes with smarter cache, as it should be intuitively 🤗 * configured rule value changes now invalidate the cache ✅ * --only <Rule> reuses the full-run cache ✅ * changing skips and removing rules does not wipe out cache ✅ github.com/rectorphp/rector/…
6
22
1,664
Automation is trending, agents are catching up. A year ago, @rectorphp had a little downturn during summer, averagin ~100 k downlaod a day. This year it's different. Growing instead and reaching 240 k 🥳🥳🥳 Continue finetuning Rector for flawless one-shot run
1
1
9
637
How is the Reco tool going? I'm adding couple new rules every other day and running across private projects. 79 rules and counting
1
5
673
Rector retweeted
2026 will be the last year we'll use Rector/PHPStan tooling as part of our private upgrade service. Golang tooling is so much faster, tolerant to legacy codebases and more precise 🎉 If you're still on an old PHP, let us know. We'll help you grow 🚀 getrector.com/hire-team
4
3
32
5,637