Blog de Gonzalo

RETURN TYPE NEVER

En la nueva versión 8.1 de php han añadido el return type never que puede utilizar para indicar que una función cortará la ejecución del programa, es decir, que después de llamar a dicha función, el programa dejará de ejecutarse. El ejemplo más simple es cuando en una función se pone un exit al final y no hay un return.


function ejemploNever(): never {
 //Algo de codigo
 ...
 //Algo de codigo
exit;
}


Como se puede ver en el exemplo anterior hay una función y código y luego se termina la ejecución con un exit. Este tipo de funciones las he visto cuando se hace una llamada ajax o una llamada a un webservice.
El tipo de devolución never se parece al tipo de retorno void. Ambos aseguran que la función o el método no devuelve un valor. Sin embargo, difiere en que impone reglas más estrictas. Por ejemplo, una función declarada como void puede seguir return sin un valor explícito, pero no se puede hacer lo mismo con una función declarada como never. Como regla general, utiliza void cuando esperas que PHP continúe ejecutándose después de la llamada a la función. Usa never cuando quieras lo contrario.
También se puede apreciar que parece algo inútil pero puede ayudar mucho a los analizadores estáticos a detectar posibles problemas en el código.

Compartir en twitter