Automate PHP Readonly Class Refactoring with Rector

Punyapal Shah
Use Rector rules to automatically convert immutable DTOs and value objects into native PHP 8.2 readonly classes.

Manually adding readonly keywords across dozens of data transfer objects is repetitive. Rector automates upgrading class properties and class declarations across codebase suites.

// rector.php
use Rector\Config\RectorConfig;
use Rector\Php82\Rector\Class_\ReadOnlyClassRector;

return RectorConfig::configure()
    ->withRules([
        ReadOnlyClassRector::class,
    ]);
  • Converts immutable classes to native PHP 8.2 readonly class declarations
  • Enforces immutability at compiler level for all class properties
  • Eliminates boilerplate docblock annotations and manual checks
Tags: #PHP #Rector #Refactoring
Share on X

// Found an issue or want to contribute a tip? github.com/MrPunyapal/tips