Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Rector Symfony Laravel Package

rector/rector-symfony

Rector rules for Symfony that automate framework upgrades and code modernization. Apply automated refactorings across Symfony projects, including deprecation fixes and version migrations, using the Rector tool.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Framework-version roadmap (the core decision). This ruleset exists to mechanize Symfony major-version upgrades (e.g., 5.4 → 6.4 → 7.x): deprecated API removal, signature changes, annotation→attribute conversion, DI/config modernization. A PM uses it to convert "we need a 6-week upgrade quarter" into a scoped, incremental, testable backlog — and to decide whether to upgrade at all versus freezing or rewriting.
  • Build vs. buy for internal tooling. The alternative is hand-editing hundreds of files or writing in-house codemods. This is a free, MIT, Rector-org-maintained ruleset; the build case almost never wins for standard Symfony API migrations.
  • Capacity and sequencing. Because Rector rules are version-scoped, the upgrade can be sliced by Symfony version and by rule set, letting you ship modernization alongside feature work instead of in a stop-the-world release.
  • Scope correction worth flagging up front: despite the "Laravel/PHP" framing, this is a Symfony ruleset. It is the wrong dependency for a Laravel-only codebase — the equivalent there is driftingly/rector-laravel (plus rector/rector core). This package is relevant only if the portfolio contains Symfony services, a shared PHP platform layer, or a planned Symfony component adoption inside a Laravel app.
  • Portfolio triage. If you have multiple PHP services, this is the cheapest lever for keeping the Symfony ones on supported versions — which drives security-patch eligibility, vendor-library compatibility, and hosting/runtime (PHP version) options.

When to Consider This Package

Adopt when:

  • You own one or more Symfony applications on 4.4/5.x/6.x approaching EOL, with a real upgrade on the roadmap.
  • The codebase has meaningful automated test coverage and CI. Rector rewrites source; without tests, every diff is an unreviewable liability. This is the single biggest adoption gate.
  • You're also planning a PHP runtime bump — the two migrations can be sequenced in one program.
  • Code is largely conventional Symfony (controllers, DI, forms, security, console). Heavy custom compiler passes, exotic bundles, or runtime metaprogramming will produce diffs Rector can't reason about.
  • You want an incremental, per-rule-set migration rather than a big-bang rewrite.

Look elsewhere / deprioritize when:

  • Laravel-only shop — wrong ecosystem; use the Laravel Rector ruleset instead.
  • No tests, or a codebase so legacy that generated diffs can't be validated. Fix test coverage first; this tool amplifies whatever safety net you have (or its absence).
  • You expect it to complete the upgrade. Rector handles code; it does not do Flex recipe changes, bundle config, deprecation triage, or third-party bundle upgrades. Budget manual work explicitly.
  • You're on an unsupported/unmaintained Symfony line where rule coverage is thin.

Diligence notes: 239 stars and 0 listed dependents is a weak ecosystem signal — but it sits under the rectorphp org and versions in lockstep with Symfony releases, so treat maintenance risk as low-moderate and pin the version. MIT license means no procurement friction. It's a dev dependency with zero runtime footprint.

How to Pitch It (Stakeholders)

To executives: Framework upgrades are a recurring tax — deferred, they compound into forced rewrites and blocked security patches. This is a free, open-source automation layer that turns a large portion of that work into machine-generated, test-verified changes instead of hand edits. It doesn't eliminate the upgrade; it materially shrinks it and makes it schedulable rather than crisis-driven. Cost is one dev-dependency and CI time; there is no license fee and no production footprint.

To engineering: Add rector/rector-symfony as a dev dependency, run it in dry-run against a version-scoped rule set, review the diff, land it behind existing tests and CI. Repeat per Symfony version until current. It's incremental, reversible, and lives entirely in the build pipeline — no runtime coupling, no framework lock-in beyond the Symfony version you're already on.

The honest caveat to state in the same breath: it automates code transformations, not the migration. Test coverage, recipe/config changes, and third-party bundle compatibility remain human work — and if the codebase has no tests, the tool's value drops sharply and the risk rises.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console