Fork me on GitHub
a Sensio Labs Product

I ate three cookies πŸͺ (v3.40.2) edition

Rule no_unneeded_final_methodΒΆ

Removes final from methods where possible.

WarningΒΆ

Using this rule is riskyΒΆ

Risky when child class overrides a private method.

ConfigurationΒΆ

private_methodsΒΆ

Private methods of non-final classes must not be declared final.

Allowed types: bool

Default value: true

ExamplesΒΆ

Example #1ΒΆ

Default configuration.

--- Original
+++ New
 <?php
 final class Foo
 {
-    final public function foo1() {}
-    final protected function bar() {}
-    final private function baz() {}
+    public function foo1() {}
+    protected function bar() {}
+    private function baz() {}
 }

 class Bar
 {
-    final private function bar1() {}
+    private function bar1() {}
 }

Example #2ΒΆ

With configuration: ['private_methods' => false].

--- Original
+++ New
 <?php
 final class Foo
 {
-    final private function baz() {}
+    private function baz() {}
 }

 class Bar
 {
     final private function bar1() {}
 }

Rule setsΒΆ

The rule is part of the following rule sets:

Source classΒΆ

PhpCsFixer\Fixer\ClassNotation\NoUnneededFinalMethodFixer