Extra Block Types (EBT) - Nueva experiencia con Layout Builder❗

Extra Block Types (EBT): tipos de bloques con estilo y personalizables: Presentaciones de diapositivas, Pestañas, Tarjetas, Acordeones y muchos más. Configuraciones integradas para fondo, DOM Box y plugins de JavaScript. Experimenta hoy el futuro de la construcción de diseños.

Módulos de demostración EBT Descargar módulos EBT

❗Extra Paragraph Types (EPT) - Nueva experiencia con Paragraphs

Extra Paragraph Types (EPT): conjunto de módulos basado en párrafos de forma análoga.

Módulos de demostración EPT Descargar módulos EPT

Scroll

Lecciones de PHP - Lección 7 - Funciones en PHP y programación funcional

10/05/2025, by Ivan

Creo que ya hemos llegado al momento en que... es hora de empezar a programar. Después de esta lección, podrás decir que has programado en PHP. Muy a menudo tenemos que escribir código que se repite en otras páginas o archivos .php. Para no duplicar este código, en PHP existen las funciones.

Una función es una parte independiente del código que realiza ciertos cálculos. Hemos visto ejemplos de funciones en lecciones anteriores:

time() – devuelve el número de segundos desde el inicio de la época Unix.

print(), echo() – muestran contenido HTML.

floor() – devuelve la parte entera de un número decimal.

Como habrás notado, las funciones se indican con paréntesis (). La forma general es: nombre_de_función(). Las reglas para nombrar funciones son las mismas que para variables, con la diferencia de que no se usa el signo de dólar $ y se incluyen los paréntesis.

¿De qué consta una función?

<?php
function plus_one($x){  // definición de la función
  $x = $x + 1;          // cuerpo de la función
  return $x;            // valor de retorno
}

$y = 1;
$y = plus_one($y);      // llamada a la función
print $y;
?>

Nombre de la función

  1. Debe comenzar con una letra o guion bajo _.
  2. Puede contener letras, números y guion bajo (A-Z, 0-9, _).
  3. No puede contener espacios. Para nombres compuestos usa my_function() o myFunction().

Usamos la palabra clave function para definir una función nueva.

Cuerpo de la función

Es el código que se ejecuta cuando se llama la función. Se encierra entre llaves {}.

Valor de retorno

El valor que sigue a la palabra return es el resultado que devuelve la función. En el ejemplo anterior, se devuelve $x.

Parámetros de la función

Son las variables o valores que se pasan entre paréntesis. Podemos pasar varios parámetros separados por comas:

<?php
function myFunction($x1, $x2, $x3){

}

$y = myFunction($z, 34, '¡Hola Mundo!');
?>

Si el número de argumentos no coincide con lo definido, se genera un error:

<?php
function myFunction($x1, $x2, $x3){

}

$y = myFunction(34, '¡Hola Mundo!'); // Error: falta un parámetro
?>

Ejemplo: función matemática

Supongamos que tenemos una función y = -2x + 4 y queremos calcular su valor con distintos x:

<?php
function myFunction($x){
  $y = -2 * $x + 4;
  return $y;
}

$z1 = myFunction(1);
$z2 = myFunction(2);
$z3 = myFunction(3);
print $z1 . '<br />' . $z2 . '<br />' . $z3;
?>

El resultado será: -2, 0, 2. Así es como funcionan las funciones.

Programación funcional en PHP

Este paradigma se basa en el uso extensivo de funciones. Para organizar muchas funciones, las agrupamos por funcionalidad en distintos archivos.

Ejemplo:

<?php
function incr($x){
  $x++;
  return $x;
}

function decr($y){
  $y--;
  return $y;
}

$z = 0;
$z = incr($z);
$z = incr($z);
$z = incr($z);
$z = incr($z);
$z = decr($z);
print $z;
?>

El resultado es 3, porque incrementamos 4 veces y luego decrementamos 1.

Ahora trasladamos las funciones a otro lugar en el archivo:

<?php
$z = 0;
$z = incr($z);
$z = incr($z);
$z = incr($z);
$z = incr($z);
$z = decr($z);
print $z;

function incr($x){
  $x++;
  return $x;
}

function decr($y){
  $y--;
  return $y;
}
?>

El resultado sigue siendo 3. PHP encuentra la definición aunque esté más abajo en el archivo.

Organizar funciones en archivos:

Archivo decr.php:

<?php
function decr($y){
  $y--;
  return $y;
}
?>

Archivo incr.php:

<?php
function incr($x){
  $x++;
  return $x;
}
?>

Archivo index.php:

<?php
include 'incr.php';
include 'decr.php';

$z = 0;
$z = incr($z);
$z = incr($z);
$z = incr($z);
$z = incr($z);
$z = decr($z);
print $z;
?>

Este enfoque nos permite usar funciones desde otros archivos sin saturar index.php. El resultado no cambia: sigue siendo 3.

Estas no son todas las posibilidades de la programación funcional en PHP. En próximas lecciones la estudiaremos más a fondo.