Try Rector
Hire Team
Find Rule
NEW
Play & Learn
NEW
Contact
Blog
Docs
Read about Rector
Introducing Composer Version-Based Sets
2024-11-13
Improving Rector Performance by 20-30 %
2024-09-11
Rector is joining the Open Source Pledge
2024-09-09
How to Migrate CodeIgniter to Symfony or Laravel
2024-08-19
Introducing Rule Finder
2024-06-24
Introducing Type Perfect for extra Safety
2024-06-04
5 Tricks to Write Better Custom Rules
2024-05-29
Migrate DateTime to Carbon
2024-05-22
7 Traits of Successful Upgrade Companies
2024-05-15
Introducing Play with AST page
2024-05-07
Upgrade Legacy Framework or Change it for Another?
2024-05-04
How to Upgrade Zend Legacy Project
2024-05-02
How to Upgrade Phalcon project
2024-02-15
Rector 1.0 is Here
2024-02-08
What to expect when you plan to Migrate Away from CakePHP 2
2024-02-05
Grab Fresh Book Release with Rector 1.0
2024-01-30
Modernize Symfony Configs
2024-01-22
5 Common Mistakes in Rector Config and How to Avoid Them
2023-09-04
Rector 0.17 - Using Scoped Traverse to Locate Specific Node
2023-08-27
Rector 0.18 - From Symfony Container to Laravel and How to Upgrade your Extensions
2023-08-24
Rector 0.18 - How we made tests Seven Times Faster
2023-08-21
Rector 0.18 - Refocus on PHP
2023-08-16
Rector 0.17 brings More Robust and Lighter Node Tree
2023-08-14
Faster Rector on 0.15.22
2023-03-23
New command to add Rector to your CI in seconds
2023-03-03
How to Upgrade to PHPUnit 10 in Diffs
2023-02-03
New in Rector 0.15: Complete Safe and Known Type Declarations
2022-12-10
Separating Laravel and CakePHP as Community Packages
2022-11-08
Support for Nested Doctrine Annotation to Flat Attributes in Rector 0.14
2022-09-09
Tests Made Simpler in Rector 0.14
2022-09-02
Interview: Legacy Code, Javascript Transpilers and Rector Challenges
2022-08-20
Separating Typo3 and Nette as Community Packages
2022-08-05
How to Automatically Add Return Type Declarations without Breaking Your Code
2022-07-04
New in Rector 0.13 - Refresh Scope for Changed Nodes
2022-05-12
New in Rector 0.12 - Introducing Rector Config with Autocomplete
2022-04-26
Success Story of Automated Framework Migration from FuelPHP to Laravel of 400k+lines Application
2022-02-07
How to Migrate Legacy PHP Applications Without Stopping Development of New Features
2022-01-21
New in Rector 0.12 - Much Simpler and Safer Rule Configuration
2022-01-07
New in Rector 0.12 - The Latest PHP in a Single Import
2021-12-31
How all Frameworks can Bump to PHP 8.1 and You can Keep Using Older PHP
2021-10-18
How to Upgrade Annotations to Attributes
2021-10-11
Dropping Docker in Favor of Composer Install for Better Developer Experience
2021-08-09
How to bump Minimal PHP Version without Leaving Anyone Behind?
2021-05-10
Prefixed Rector by Default
2021-05-03
From Doctrine Annotations Parser to Static Reflection
2021-04-05
Rector 0.10 Released - with PHP 7.1 Support
2021-03-22
Legacy Refactoring made Easy with Static Reflection
2021-03-15
How much does Single Type Declaration Know?
2021-02-15
How to Instantly Decouple Symfony Doctrine Repository Inheritance to Clean Composition
2021-02-08
How to Instantly Refactor Symfony Action Injects to Constructor Injection
2021-02-01
Smooth Upgrade to Nette 3.1 in Diffs
2021-01-18
Switch Symfony String Route Names to Constants
2021-01-11
7 Valuable Lessons We Learned from our Clients in 2020
2021-01-04
Rector 0.9 Released ❄️
2020-12-28
4 Configurable PHPStan rules that Help Rector Merge 188 pull-requests a Month
2020-12-14
Laravel Facades to Constructor Injection: Replace Facade Aliases with Full Classes in 2 hours
2020-12-07
Smooth Upgrade to PHP 8 in Diffs
2020-11-30
How to make Rector Contribute Your Pull Requests Every Day
2020-10-05
How to Inline Value Object in Symfony PHP Config
2020-09-07
Rector is Moving From YAML to PHP Configs - What Changes and How to Get Ready?
2020-08-31
How to Migrate From PHPExcel to PHPSpreadsheet with Rector in 30 minutes
2020-04-16
Upgrading Glami to PSR-4, part 1: What and why?
2020-03-10
How to install Rector despite Composer Conflicts
2020-01-20