Skip to content

Latest commit

 

History

History
89 lines (64 loc) · 1.82 KB

no_unneeded_final_method.rst

File metadata and controls

89 lines (64 loc) · 1.82 KB

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:

@PHP80Migration:risky
Using the @PHP80Migration:risky rule set will enable the no_unneeded_final_method rule with the default config.
@PhpCsFixer:risky
Using the @PhpCsFixer:risky rule set will enable the no_unneeded_final_method rule with the default config.
@Symfony:risky
Using the @Symfony:risky rule set will enable the no_unneeded_final_method rule with the default config.