Kodokon kodokon.com

Funciones: declarar, tipar, return

Crea tus propias funciones con parámetros tipados, valores por defecto y valores de retorno.

8 min · 3 preguntas

Abrir esta lección en Kodokon

Una función es un bloque de instrucciones al que le das un nombre, para poder reutilizarlo tantas veces como haga falta con una simple llamada. Escribir una vez, usar en todas partes: ese es el principio. La declaras con la palabra clave function, seguida del nombre, los paréntesis y un bloque entre llaves. La marca : void después de los paréntesis indica que la función no devuelve nada: simplemente actúa.

PHP
<?php

function sayHello(): void
{
    echo "Hello and welcome!<br>";
}

sayHello();
sayHello();
Una declaración, dos llamadas, dos salidas.

Los paréntesis contienen los parámetros: variables que la función recibe en cada llamada. El valor concreto que se proporciona al llamar se llama argumento. En el PHP moderno, tipas cada parámetro (float $price) y el valor devuelto (: float después de los paréntesis): PHP rechaza entonces los valores del tipo equivocado, lo que evita muchos errores. La instrucción return envía un resultado de vuelta al lugar de la llamada y detiene de inmediato la función.

PHP
<?php

function addTax(float $price): float
{
    return $price * 1.2;
}

echo addTax(100);
echo "<br>";
echo addTax(50);
Muestra 120 y luego 60: el resultado vuelve a quien llamó.

Un parámetro puede recibir un valor por defecto con =: si la llamada no proporciona un argumento para ese parámetro, toma el relevo el valor por defecto. Regla de oro: los parámetros con valores por defecto van después de los obligatorios.

PHP
<?php

function greet(
    string $name,
    string $greeting = "Hello"
): string {
    return "{$greeting}, {$name}!";
}

echo greet("Awa");
echo "<br>";
echo greet("Awa", "Good evening");
Sin un segundo argumento, greeting es "Hello".
PHP
<?php

function totalPrice(
    float $unitPrice,
    int $quantity = 1
): float {
    return $unitPrice * $quantity;
}

echo totalPrice(19.9, 3);
echo "<br>";
echo totalPrice(8.5);
Repaso: tipos, valor por defecto y return, todo junto.

Prueba de conocimientos

Comprueba que has retenido los puntos clave de esta lección.

  1. ¿Qué palabra clave declara una función en PHP?
    • def
    • function
    • func
  2. ¿Qué hace la instrucción return?
    • Imprime un valor en la pantalla
    • Devuelve un valor y detiene la función
    • Reinicia la función desde el principio
  3. Con function greet(string $name, string $greeting = "Hello"), ¿cuál es el valor de $greeting si llamas a greet("Awa")?
    • Una cadena vacía
    • null
    • El valor por defecto "Hello"