Вы находитесь на странице: 1из 9

Contenido

Una de las herramientas ms importantes en cualquier lenguaje de programacin son las


funciones. La funcin es definida como un conjunto de instrucciones que explotan ciertas
variables para realizar una tarea ms o menos elemental, por lo tanto es necesario conocerlas.
Existen funciones creadas por los programadores, as como funciones propias de PHP. En los
siguientes apartados se estudiarn algunas de ellas.
Conocer que es una funcin en PHP.
Distinguir las partes en las que se compone una funcin.
Aprender a crear una funcin personalizada.
Conocer algunos tipos de funciones propios de PHP.
Una funcin consiste en un conjunto de rutinas y acciones que a lo largo del script van a ser
ejecutadas multitud de veces.
Agrupadas en una funcin, las instrucciones pueden ser llamadas y ejecutadas desde cualquier
punto del script. A su vez, esta funcin puede recibir parmetros externos de los cuales dependa
el resultado de una funcin

PHP basa su eficacia principalmente en este tipo de elemento. Una gran librera que crece
constantemente, a medida que nuevas versiones van surgiendo, es complementada con las
funciones de propia cosecha, dando como resultado un sinfn de recursos que son aplicados por
una simple llamada.

Las funciones integradas en PHP son muy fciles de utilizar. Tan slo se debe realizar la llamada
de la forma apropiada y especificar los parmetros y/o variables necesarios para que la funcin
realice su tarea.

Lo que puede parecer ms complicado, pero que resulta mejor, es crear nuestras propias
funciones. De una forma general, podramos crear nuestras propias funciones para conectarnos a
una base de datos o crear los encabezados o etiquetas meta de un documento HTML. Para una
aplicacin de comercio electrnico podramos crear por ejemplo funciones de cambio de una
moneda a otra o de clculo de los impuestos a aadir al precio de un artculo. En definitiva, es
interesante crear funciones para la mayora de acciones ms o menos sistemticas que
realizamos en nuestros programas.

Para definir una funcin se utiliza la siguiente sintaxis:
function nombre_funcion(parametro1, parametro2...)
{
instruccin1;
instruccin2;
instruccin3;
instruccin4;

return valor_de_retorno;
}

En el esquema anterior podemos distinguir varias partes:
La primera lnea es la cabecera de la funcin, que, a su vez, consta de:
La palabra clave function
El nombre de la funcin que no debe llevar acentos, espacios en blanco, ni caracteres
especiales.
Encerrada entre parntesis, la lista de parmetros que consta de una serie de
parmetros separados por comas ','. Los parmetros (o argumentos) son variables y/o
constantes que establecen una "comunicacin" entre partes del cdigo, y que se
tratarn como variables locales dentro de la funcin.


El resto es el cuerpo de la funcin, que consta de una sucesin de instrucciones encerradas
entre llaves. Cualquier instruccin vlida de PHP puede aparecer en el cuerpo de la funcin,
incluso otras funciones y definiciones de clases. Si se quiere que la funcin devuelva como
resultado algn valor, habr que aadir una instruccin compuesta por el comando return
seguido del valor que ser devuelto por la funcin.

Las funciones deben ser colocadas siempre antes de realizar la llamada a la funcin.

function nombre (parmetros){
instrucciones de la funcin
}

Para llamar a la funcin sera de la siguiente forma:
nombre (parmetros)

Un ejemplo: Se crear una funcin que realice la suma de dos nmeros y muestre el resultado.

function sumar($sumando1,$sumando2){
$ suma=$sumando1+$sumando2
echo $sumando1."+".$sumando2."=".$suma;
}
sumar(5,6)





Luego se puede crear una funcin que se puede utilizar como el encabezado de un documento
HTML y colocar el titulo que queremos a la pgina:
<?
function hacer_encabezado($titulo)
{
$encabezado="<html><head>t<title>$titulo</title></head>";
echo $encabezado;
}
?>

Esta funcin podra ser llamada al principio de todas nuestras pginas de la siguiente forma:
$titulo="Mi web";
hacer_encabezado($titulo);

De esta forma automatizamos el proceso de creacin de nuestro documento. Podramos por
ejemplo incluir en la funcin otras variables que nos ayudasen a construir las etiquetas meta y
de esta forma, con un esfuerzo mnimo, se crearan los encabezados personalizados para cada
una de nuestras pginas. De este mismo modo, es posible crear cierres de documento o
formatos diversos para nuestros textos como si se tratase de hojas de estilo que tendran la
ventaja de ser reconocidas por todos los navegadores.

La funcin ha de ser definida dentro del script ya que no se encuentra integrada en PHP sino que
la se ha creado. 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 libreras. La forma de incluirlos en
nuestro script es a partir de la instruccin require o include.

require("libreria.php") o include("libreria.php")

require es idntico a include excepto que en caso de fallo producir un error fatal de nivel
E_COMPILE_ERROR. En otras palabras, ste detiene el script mientras que include slo emitir
una advertencia (E_WARNING) lo cual permite continuar el script.

En resumen, se tendra un archivo libreria.php como sigue:

<?
//funcin de encabezado y colocacin del titulo
function hacer_encabezado($titulo)
{
$encabezado="<html>n<head>nt<title>$titulo</title>n</head>n";
echo $encabezado;
}
?>

Por otra parte tendramos nuestro script principal pgina.php (por ejemplo):

<?
include("libreria.php");
$titulo="Mi Web";
hacer_encabezado($titulo);
?>
<body>
El cuerpo de la pgina
</body>
</html>

Podemos meter todas las funciones que vayamos encontrando dentro de un mismo archivo, pero
resulta mejor ir clasificndolas en distintos archivos por temtica: Funciones de conexin a bases
de datos, funciones comerciales, funciones generales, etc. Esto nos ayudar a localizarlas antes
para corregirlas o modificarlas, nos permite tambin cargar nicamente el tipo de funcin que se
necesita para el script, sin recargar ste en exceso; adems de permitir utilizar un determinado
tipo de librera para varios sitios webs distintos.

Tambin puede resultar, utilizar una nomenclatura sistemtica a la hora de nombrarlas: Las
funciones comerciales podran ser llamadas com_ejemplo, las de bases de datos bd_ejemplo, las
de tratamiento de archivos file_ejemplo. 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 funcin, merece la pena echar un vistazo
a la documentacin para ver si dicha funcin ya existe o podemos aprovecharnos de alguna de
las existentes para aligerar nuestro trabajo. As, por ejemplo, existe una funcin llamada header
que crea un encabezado HTML configurable lo cual nos evita tener que crearla nosotros mismos.

Ejercicio:
Hacer una funcin que recibe un texto y lo escribe en la pgina con cada carcter separado por
"-". Es decir, si recibe "hola" debe escribir "h-o-l-a" en la pgina web.

Solucin:
La manera de realizar esta funcin ser recorrer el string, caracter a caracter, para imprimir cada
uno de los caracteres, seguido de el signo "-". Se recorre el string con un bucle for, desde el
carater 0 hasta el nmero de caracteres total de la cadena.

El nmero de caracteres de una cadena se obtiene con la funcin predefinida en PHP strlen(),
que recibe el string entre parntesis y devuelve el nmero 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 ms largo, a ver lo que hace");
?>
</body>
</html>

La funcin que hemos creado se llama escribe_separa y recibe como parmetro la cadena que
hay que escribir con el separador "-". El bucle for nos sirve para recorrer la cadena, desde el
primer al ltimo carcter. Luego, dentro del bucle, se imprime cada carcter separado del signo
"-". El if que hay dentro del bucle for comprueba que el actual no sea el ltimo carcter, porque
en ese caso no habra que escribir el signo "-" (queremos conseguir "h-o-l-a" y si no estuviera el
if obtendramos "h-o-l-a-").




En el cdigo mostrado se hacen un par de llamadas a la funcin para ver el resultado obtenido
con diferentes cadenas como parmetro. Podemos ver el script en marcha.

Existen casos en los cuales no sabemos el nmero de parmetros que le pasaremos a la funcin
y en estos casos debemos usar las funciones creadas al efecto como son:

func_num_args() Numero de parmetros que se le han pasado a la funcin.

func_get_args() Devuelve un elemento de los que forman la lista de argumentos.

Vamos a ver algunas de las muchas funciones del lenguaje PHP, que nos ayudarn en las
acciones ms comunes.

echo y print
El cdigo PHP no se muestra en la pgina. Por eso, si queremos escribir cdigo HTML, debemos
de hacerlo utilizando las funciones echo o print. Ambas funciones se comportan casi igual.
Escribir el texto que le pasemos como parmetro.

Existe una diferencia entre pasarle el texto entre comillas simples o comillas dobles. Si el texto,
va entre comillas simples, se mostrar tal cual, mostrando el nombre de las variables que pueda
incluir, y sin convertir caracteres escapados. Si le pasamos el texto entre comillas dobles, se
imprimir el valor de las variables, y se convertirn los caracteres escapados.

isset
La funcin isset($variable), comprueba si una variable ha sido definida. Devuelve verdadero si lo
ha sido y falso si no.

mail
La funcin mail enva un correo electrnico. Tiene la siguiente estructura: mail("email_destino",
"asunto", "cuerpo_mensaje");
donde "email_destino" es la direccin de correo a la que queremos enviar el mensaje, "asunto"
es el asunto del mensaje, y "cuerpo_mensaje" es el contenido del mensaje.

strip_tags
Elimina el cdigo HTML de una cadena.
strip_tags("<p class="centrado">Hola <span>mundo</span></p>")

trim
Quita los espacios al principio y final de una cadena.
trim(" Hola mundo ")

ceil
Redondea un valor numrico a un entero mayor.
ceil(2.5) devuelve 3
ceil(2.1) devuelve 3

count
Devuelve el nmero de elementos que hay en un array.

header
Nos permite escribir la cabecera de la pgina.

exit
Finaliza la ejecucin del cdigo PHP.

CONTROL DE LECTURA

A continuacin, se le presentan una serie de enunciados, conteste Falso o Verdadero segn
corresponda.

Вам также может понравиться