Refactoring Huge Legacy PHP Applications
From 100 hours to minutes

Tomas Votruba (.com)
getRector.org

2019-10-09

Hi, I'm Tomas!
- freelance consultant
- legacy migrator
- speaker
- blogger
- open-source addict
- "It's not possible"





*2015-11






PHP 7.0 - 809 lines
PHP 7.3 - 651 lines
Symfony 4.0 - 1145 lines



260 results




























Text
Text
Code becomes legacy
as soon as it's been written
Text
Text
Code becomes legacy
as soon as it's been written
Text
Knowledge
learned
Time to Refactor Legacy





54 357 lines
151 REST routes



vendor/bin/rector process src
--set nette-to-symfony
Time to Refactor Legacy





4





1
4
Any legacy project
can be migrated to
a new framework
in 1 month.
More Technical?



Nikita Popov
Ondra Mirtes
Jan Tvrdik



Before: 850 files - 2628 missing @var props
After: 0 ✅
- growing & active PHP community





- upgrade machine to PHP 8
- vendor/bin/rector p src --set php80 ✅
- migrate framework? 1
monthweek - migrate active rectord to entity repository: 1
weekday
- upgrade-business companies
- Rector CI - tireless & sleepless member of your team in your CI
- faster + safer PHP-core development
- BC break = 0 extra work

- Follow @rectorPHP
- Support Rector on Patreon
- Follow @votrubaT
Thank you! Questions?
How can we Make Legacy Fun Again?
By Tomáš Votruba
How can we Make Legacy Fun Again?
- 757