Skip to content

Add StandaloneLineRequiredParamFixer to spaces set#50

Merged
TomasVotruba merged 1 commit into
mainfrom
standalone-line-required-param
Jul 17, 2026
Merged

Add StandaloneLineRequiredParamFixer to spaces set#50
TomasVotruba merged 1 commit into
mainfrom
standalone-line-required-param

Conversation

@TomasVotruba

Copy link
Copy Markdown
Member

Adds StandaloneLineRequiredParamFixer and registers it in the spaces set.

Inspired by mautic/mautic#16607.

What it does

A public method carrying a #[Required] attribute or an @required docblock is a dependency-injection point. Its parameter list grows over time; a one-line signature turns every added/removed dependency into a full-line git diff. The fixer puts one parameter per line so the diff stays on the single dependency that changed.

Example

 final class SomeController
 {
     #[Required]
-    public function autowireDependencies(FormModel $formModel, SubmissionModel $submissionModel): void
+    public function autowireDependencies(
+        FormModel $formModel,
+        SubmissionModel $submissionModel
+    ): void
     {
     }
 }

Docblock form is matched too:

     /**
      * @required
      */
-    public function autowireDependencies(FormModel $formModel, SubmissionModel $submissionModel): void
+    public function autowireDependencies(
+        FormModel $formModel,
+        SubmissionModel $submissionModel
+    ): void

Skips

  • non-public methods (private/protected #[Required])
  • methods without a #[Required]/@required marker
  • methods with no parameters

@TomasVotruba
TomasVotruba enabled auto-merge (squash) July 17, 2026 15:00
@TomasVotruba
TomasVotruba merged commit 3e6b874 into main Jul 17, 2026
8 checks passed
@TomasVotruba
TomasVotruba deleted the standalone-line-required-param branch July 17, 2026 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant