Question

j'ai ce code

 $return = $ep->$method($params);
 if ($return === null) {
  throw new Exception('Endpoint has no return value');
 }
 return $return;

Existe-t-il un moyen de distinguer une méthode renvoyant null d'une méthode ne renvoyant rien?

Était-ce utile?

La solution

Ce n'est pas possible. Si aucune valeur de retour n'est définie, la fonction renvoie automatiquement la valeur null.

Autres conseils

Si la fonction ne renvoie rien, vous ne devriez pas tester sa valeur de retour. Vous devriez savoir quelles fonctions devraient renvoyer quelque chose ou rien du tout, même si vous n'êtes pas celui qui les a écrites.

Vous pourriez faire que la fonction retourne une autre valeur? Boolean true éventuellement, et vérifiez cela ou null.

Avec la fonction de déclaration du type de retour PHP7:

function a(): void {
    return null; // :(
}

function b(): void {
    // :)
}

function c(): void {
    return; // :)
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top