Fork me on GitHub
a Sensio Labs Product

Remote Void (v2.18.0) edition

Rule final_public_method_for_abstract_class

All public methods of abstract classes should be final.

Description

Enforce API encapsulation in an inheritance architecture. If you want to override a method, use the Template method pattern.

Warning

Using this rule is risky.

Risky when overriding public methods of abstract classes.

Examples

Example #1

--- Original
+++ New
@@ -2,6 +2,6 @@

 abstract class AbstractMachine
 {
-    public function start()
+    final public function start()
     {}
 }
The logo is © 2010-2014 Sensio Labs