1.2.106. Can’t Overwrite Final Method

A final method is a method that cannot be overwritten in a child class. This means that no class below the current class may define a method with the same name.

<?php

class y extends x {
    function method() {}
}

class x {
    final function method() {}
}

?>

1.2.106.2. Connex PHP features

1.2.106.2.1. Suggestions

  • Remove the final keyword in the parent class

  • Remove the method in the child class

  • Rename the method in the child class

1.2.106.2.2. Specs

Short name

Classes/CantOverwriteFinalMethod

Rulesets

All

Exakat since

2.4.2

PHP Version

With PHP 5.0 and more recent

Severity

Major

Time To Fix

Slow (1 hour)

Precision

High

Available in

Entreprise Edition, Exakat Cloud