The Way You Can Finally
Upgrade PHP

We help successful and growing companies to get the most of the code they already have.

Reduce maintenance cost, make feature delivery cheaper
and turn legacy code into sustainable code.





                           


We Deliver 10x Faster and Cheaper
Thanks to Experience With 50+ Upgrades

Rector Chart

* Based on average data from 37 projects.

90% of problems you'll face are new to you.

We've already seen them and know exactly how to solve them quickly, efficiently and effectively.





                           


Rector Empowers Your Project

Get High-Quality Code

Improves your code quality code to the highest possible level. The knowledge is embedded in the Rector rules and sets. All you have to do is to run and apply them to your code base.

Reduce Maintenance Cost

As they say: the first upgrade is the hardest. Once you get past PHP 8.0 and have a full-blown Rector CI setup, the time to upgrade to the latest PHP drops to hours.

Remove Technical Debt

How do you tackle technical debt in a project with 10,000 files? One by one? With Rector, the size doesn't matter, and removing technical debt is a clear and confident process.





                           


12 companies hired us this year to improve their PHP code and reduce technical debt




                           


What Do Companies Love About Rector?

"Thanks to Rector, we were able to quite simply refactor the core of our API, which saved a lot of work that our developers would otherwise have to do manually."

Milan Mimra, CTO at Spaceflow

"I'm extremely pleased with the progress we are making. It's really come a long way."

William Adam Gleiss, VP of Technology at aRes Travel

"From upgrading our legacy projects and improving team's productivity, to making code review easier and reliable, Rector is in the center within our PHP ecosystem."

Nathan Page, Technical Lead at EONX





                           


FAQ

Can Rector upgrade PHP 5.3 code?

Yes, Rector handles upgrades from PHP 5.3 up to PHP 8.2.

Can you upgrade Javascript or Java?

No, we can help you with PHP upgrades only.

How long does a typical upgrade take?

Every project is different. The project size, code quality, test coverage, type coverage and CI setup affect the project upgrade duration. But to give you a rough idea, most project upgrades we handle take between 6 and 12 months.

We're in a hurry. How fast can you start upgrade of our project?

First, we do an intro analysis of your project that takes 3 weeks. After that, we can jump right into the upgrade work itself.

Do we have to hire you every 2 years to handle the upgrade?

No. Our goal is not to just simply change the value in composer.json to the latest PHP. We improve your code quality to the highest possible level, we improve test coverage, type coverage and get PHPStan to level 8. We upgrade your CI to catch most bugs long before merge.

When we finish, you'll have Rector in your CI setup working seamlessly. Your next PHP upgrade will be a matter of changing a single line in the configuration that you can handle yourself.

We want to upgrade, but can't afford to stop development even for a few months.

We know the business must grow. Stopping development, even for a month, would slow down the project and give the competition a huge advantage.

That's why we work in parallel to your project. Our work flows standalone along with your business development. Your team can safely develop features as we slowly and safely upgrade your code.

Can you migrate our framework to an open-source one?

Yes, that's a field where Rector really shines. The PHP frameworks are very similar to each other; they use the MVC pattern. The framework migration is a matter of writing 30-50 custom Rector rules. We have deep experience with that.

We had a bad experience with an upgrade. It costs us 6 months with no result.
How do help us to avoid it?

Doing upgrades effectively and with confidence takes years of experience with dozens of project.

Our code changes are small, isolated and to the point. We create minimalistic pull-requests with 1 change, and send it for a review and you merge it the same or next day. That way your project will gain value every day.