2.7 Ejemplos Prácticos

Ejemplo

El siguiente código es un ejemplo práctico de la forma en que se utiliza Funciones y librerias en Php. 

  • biblioteca.php

<?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> ";
}
?>

  • pagina_1.php

 

<?php
include "biblioteca.php";
cabecera("Página de ejemplo");
print "<p>Esta página es válida</p>";
?>
</body>
</html>
<?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>Página de ejemplo</title>
<link href=\"estilo.css\" rel=\"stylesheet\" type=\"text/css\" />
</head>

<body>

<h1>Página de ejemplo</h1>
<p>Esta página es válida</p>
</body>
</html>

  • pagina_2.php

 

<?php
include "biblioteca.php";
cabecera("Otra página de ejemplo");
print "<p>Esta página también es válida</p>";
?>
</body>
</html>
<?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>Otra página de ejemplo</title>
<link href=\"estilo.css\" rel=\"stylesheet\" type=\"text/css\" />
</head>

<body>

<h1>Otra página de ejemplo</h1>
<p>Esta página también es válida</p>
</body>
</html>

Se pueden crear todas las bibliotecas que se necesiten e incluir cualquier número de bibliotecas en cualquier punto de un programa. Las bibliotecas pueden a su vez incluir otras bibliotecas.

Normalmente, las bibliotecas suelen contener funciones, definiciones de constantes o inicialización de variables, pero en realidad pueden incluir cualquier tipo de código php, que se ejecutará en la posición en la que se incluya la biblioteca.

En el ejemplo siguiente, las bibliotecas modifican variables, lo que afecta a su valor.

  • biblioteca_1.php

<?php
$i = 1;
?>

  • biblioteca_2.php

<?php
$i = $i + 10;
?>

  • Programa:

 

<?php
include "biblioteca_1.php";
print "<p>Ahora \$i vale $i</p> ";
include "biblioteca_2.php";
print "<p>Ahora \$i vale $i</p> ";
include "biblioteca_2.php";
print "<p>Ahora \$i vale $i</p> ";
?>
<p>Ahora $i vale 1</p>
<p>Ahora $i vale 11</p>
<p>Ahora $i vale 21</p>

Existe una construcción similar a include, la construcción require. La diferencia con respecto a include 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).

En un mismo archivo php se pueden incluir varias construcciones include o require, pero si las bibliotecas incluidas contienen definiciones de funciones, al incluir de nuevo la definición de la función se genera un error.

Para que no ocurra este problema se pueden utilizar las funciones include_once o require_once, que también incluyen los ficheros pero que, en caso de que los ficheros ya se hayan incluido, entonces no los incluyen.

Las cuatro construcciones (includerequireinclude_once y require_once) pueden utilizarse escribiendo entre paréntesis el nombre de los ficheros o sin escribir paréntesis.

La guía de estilo del proyecto PEAR prescribe el uso de la construcción require_once en el caso de bibliotecas cuya inclusión no dependa de ninguna condición y que no se utilicen paréntesis alrededor de los nombres de las bibliotecas.

 

 Arriba