All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sonar.l10n.php.rules.php.S3801.html Maven / Gradle / Ivy

Why is this an issue?

Because it is dynamically typed, PHP does not enforce a return type on a function. This means that different paths through a function can return different types of values, which can be very confusing to the user and significantly harder to maintain.

In particular, it is consequently also possible to mix empty return statements (implicitly returning null) with some returning an expression. This rule verifies that all the return statements from a function are consistent.

Noncompliant code example

function foo($a) { // Noncompliant, function will return "true" or null
  if ($a == 1) {
    return true;
  }
  return;
}

Compliant solution

function foo($a) {
  if ($a == 1) {
    return true;
  }
  return false;
}

or

function foo($a) {
  if ($a == 1) {
    return true;
  }
  return null;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy