PHP basa su eficacia
principalmente en este tipo de elemento. Una gran librería que crece constantemente, a medida que
nuevas versiones van surgiendo, es complementada con las funciones de propia cosecha dando como
resultado un sinfín de
recursos que son aplicados por una simple llamada.
Las funciones integradas en PHP son
muy fáciles de utilizar. Tan sólo hemos
de realizar la llamada de la forma apropiada y especificar los parámetros y/o variables necesarios
para que la función realice su tarea.
Lo que puede parecer ligeramente más complicado, pero que resulta sin lugar a dudas muy práctico, es crear nuestras propias funciones. De una forma general, podríamos crear nuestras propias funciones para conectarnos a una base de datos o
crear los encabezados o etiquetas meta de un documento HTML. Para una aplicación de comercio electrónico
podríamos crear por ejemplo funciones de cambio de una moneda
a otra o de calculo de los impuestos a añadir al precio de articulo. En
definitiva, es interesante crear
funciones para la mayoría
de acciones más o menos sistemáticas que realizamos en nuestros programas.
Aquí
daremos el ejemplo
de creación de una función
que, llamada al comienzo de
nuestro script, nos crea el encabezado de nuestro documento HTML y coloca el titulo que queremos a la
página:
<? |
Esta función podría ser llamada al principio de todas nuestras
páginas de la siguiente
forma:
$titulo="Mi web"; |
De esta forma automatizamos el proceso
de creación de nuestro
documento. Podríamos por ejemplo
incluir en la función otras variables
que nos ayudasen a construir la
etiquetas meta y de esta forma, con un esfuerzo mínimo, crearíamos los encabezados personalizados para cada una de nuestras páginas. De este mismo
modo nos es posible crear cierres de documento o formatos
diversos para nuestros textos como si se tratase de hojas de estilo que tendrían la ventaja
de ser reconocidas por todos los
navegadores.
Por supuesto, la función ha de ser definida dentro del
script ya que no se encuentra
integrada en PHP sino que la hemos creado
nosotros. Esto en realidad no pone ninguna pega ya que puede ser incluida desde un archivo en el
que iremos almacenando las definiciones de las funciones que
vayamos creando o recopilando.
Estos archivos en los que se guardan
las funciones se llaman librerías. La forma de incluirlos en nuestro
script es a partir de la instrucción
require o include:
require("libreria.php") o include("libreria.php")
|
En resumen, la cosa quedaría así:
Tendríamos un archivo libreria.php como sigue
<? |
Por otra parte tendríamos nuestro script principal página.php
(por ejemplo):
<? |
Ejecutar script
Echar un vistazo al
codigo fuente del navegador
Podemos meter todas las funciones que vayamos encontrando dentro de un mismo archivo pero resulta muchísimo más ventajoso ir clasificándolas en distintos archivos por temática: Funciones de conexión
a bases de datos, funciones comerciales, funciones generales,
etc. Esto nos ayudara a
poder localizarlas antes para corregirlas
o modificarlas, nos permite también
cargar únicamente el tipo de función que necesitamos para el script sin recargar éste
en exceso además de permitirnos utilizar un determinado tipo de librería
para varios sitios webs distintos.
También puede resultar muy práctico el
utilizar una nomenclatura sistemática a la hora de nombrarlas: Las funciones comerciales podrían ser llamadas com_loquesea, las de bases de datos bd_loquesea, las de tratamiento de archivos file_loquesea. Esto nos permitirá reconocerlas enseguida cuando leamos el script sin tener que recurrir
a nuestra oxidada memoria
para descubrir su utilidad.
No obstante, antes de lanzarnos a crear
nuestra propia función, merece la pena echar un vistazo
a la documentación para ver si dicha
función ya existe o podemos
aprovecharnos de alguna de las existentes para aligerar nuestro trabajo. Así, por ejemplo, existe una función llamada header que crea un encabezado HTML
configurable lo cual nos evita tener que crearla nosotros mismos.
Como puede verse, la tarea del programador puede en algunos
casos parecerse a la de un coleccionista. Hay que ser paciente y metódico y al final, a base de trabajo propio, intercambio y tiempo podemos llegar poseer nuestro pequeño tesoro.
Ejemplo de función
Vamos a ver un ejemplo de creación de funciones en PHP. Se trata de hacer una función que recibe un texto y lo escribe en
la página con cada carácter separado por "-". Es decir,
si recibe "hola" debe escribir "h-o-l-a"
en la página web.
Nota: Para comprender este ejemplo necesitamos conocer el bucle
for, que se explica en el
capítulo Control del flujo
en PHP: Bucles II. |
La manera de realizar esta función será recorrer el string, caracter a caracter, para
imprimir cada uno de los caracteres, seguido de el signo "-". Recorreremos el
string con un bucle for, desde el carater 0 hasta el número de
caracteres total de la cadena.
El número de caracteres de una cadena
se obtiene con la función predefinida en PHP strlen(), que recibe el
string entre paréntesis y devuelve
el número de los caracteres
que tenga.
<html>
<head>
<title>funcion
1</title>
</head>
<body>
<?
function escribe_separa($cadena){
for ($i=0;$i<strlen($cadena);$i++){
echo
$cadena[$i];
if ($i<strlen($cadena)-1)
echo "-";
}
}
escribe_separa ("hola");
echo
"<p>";
escribe_separa ("Texto más largo, a ver lo que hace");
?>
</body>
</html>
La función que hemos creado se llama escribe_separa y recibe como parámetro la cadena que hay
que escribir con el separador "-". El bucle for nos sirve
para recorrer la cadena,
desde el primer al último caracter. Luego, dentro del bucle, se imprime cada caracter separado del signo
"-". El if que hay
dentro del bucle for comprueba que el actual no sea el
último caracter, porque en ese caso no habría que escribir el signo "-"
(queremos conseguir "h-o-l-a" y si no estuviera
el if obtendríamos "h-o-l-a-").
En el código mostrado se hacen un par de llamadas a la función
para ver el resultado obtenido
con diferentes cadenas como
parámetro. Podemos ver el script en
marcha.