Volver al índiceFunciones y bibliotecas


Funciones

En PHP se pueden definir funciones, de manera que no haga falta escribir el mismo código varias veces. Las funciones deben definirse antes de utilizarlas (aunque no sea en el mismo fragmento de código php). Las funciones pueden no tener argumento o tener argumentos por valor o por referencia.

Por ejemplo, el tratamiento de la matriz $_REQUEST comentada en la lección sobre recogida de datos se puede concentrar en una función.

<?php
  function recoge($var)
  {  return ( (isset($_REQUEST[$var])) ? trim(strip_tags($_REQUEST[$var])) : "" );
  }

  $nombre = recoge("nombre");
  if ($nombre=="")
    print "<p>No has escrito ningún nombre</p>";
  else
    print "<p>Tu nombre es $nombre</p>";
?>

Volver al principio


Bibliotecas

Para que una función pueda ser utilizada en varias páginas sin tener que incluirla en cada página, se pueden crear bibliotecas, que no son más que archivos php que se pueden incluir en cualquier otro archivo. Las bibliotecas también se pueden utilizar para definir variables.

Por ejemplo, la cabecera de las páginas se puede definir en una función que está en un archivo funciones.php (el nombre puede ser cualquiera).

<?php
function cabecera($titulo)
{ print "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />
  <title>$titulo</title>
  <link href=\"estilo.css\" rel=\"stylesheet\" type=\"text/css\" />
</head>

<body>
<h1>$titulo</h1>\n";
}
?>

Si en cualquier documento se incluye el archivo funciones.php mediante la construcción include(), se puede llamar a las funciones desde cualquier punto del documento.

<?php
  include "funciones.php";
  cabecera("Página de ejemplo");
  print "<p>Esta página es válida</p>";
?>
</body>
</html>

También se puede utilizar la construcción require(). La diferencia entre ambas es que require produce un error si no se encuentra el archivo (y no se procesa el resto de la página), mientras que include sólo produce un aviso (y se procesa el resto de la página).

Volver al principio

Autor: Bartolomé Sintes Marco
Última modificación de esta página: 7 de febrero de 2005