Apply constructor property promotion via Rector. - #1985
Open
shadyvb wants to merge 1 commit into
Open
Conversation
shadyvb
marked this pull request as ready for review
September 2, 2026 10:11
shadyvb
force-pushed
the
ticket/XWPENG-47-constructor-promotion
branch
from
September 2, 2026 10:12
8a6a41e to
0c0bb6a
Compare
Seventeen constructors across connectors, alerts, and exporters; hand-correct Connectors_Unit_Test Admin mock fidelity.
shadyvb
force-pushed
the
ticket/XWPENG-47-constructor-promotion
branch
from
September 2, 2026 14:30
0c0bb6a to
77ce1e0
Compare
14 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
XWPENG-47 (sub-PR 4 of the typed-properties stack; base:
ticket/XWPENG-47-typed-props-alerts).Applies PHP 8 constructor property promotion to seventeen core service classes via Rector's
ClassPropertyAssignToConstructorPromotionRector. Each class that previously declared a property and assigned it in__construct()now promotes the parameter directly — for examplepublic function __construct( public Plugin $plugin )— removing redundant property declarations and$this->prop = $propboilerplate.Classes updated:
Abilities,Ability(protected),Admin,Alert,Alerts,Alerts_List,Alert_Trigger,Alert_Type,Connectors,DB,Export,Install,List_Table,Live_Update,Log,Network,Settings.rector.phpregisters the promotion rule withRENAME_PROPERTY => falseso existing property names are preserved.No runtime behavior changes — this is a readability and modernization refactor only.
Checklist
contributing.md).Release Changelog
Release Checklist
masterbranch.readme.txt.stream.php.Stable taginreadme.txt.classes/class-plugin.php.Change
[ ]to[x]to mark the items as done.