Justi 7 de abril de 2008 a las 12.53
   Imprimir artículo
elWebmaster.com

Taller de PHP: Funciones


Taller de PHP: Funciones¡Hola! Bienvenidos a otra clase del Taller de PHP.

La clase pasada terminamos de ver el tema de los formularios, así que hoy cambiaremos de tema.

Aprenderemos el uso de funciones, una de las mejores herramientas a la hora de reutilizar código. Con php podemos armar una función que ejecute un conjunto de instrucciones. ¡No perdamos más tiempo! Comencemos.

Sintaxis

las funciones se pueden definir con la siguiente sintaxis:

<?php
function nomber($argumento1, $argumento2, ..., $argumento_n)
{
echo "Función de ejemplo.";
return $resultado;
}
?>

Vamos a explicar un poco, en el cuerpo de la función puede aparecer cualquier instrucción, incluso otra función. Lo que sí, recuerden que si definimos una variable por fuera de la misma, únicamente se va a poder acceder a ella dentro de la función si es una variable global (lo vimos en la clase 2).

Dentro de la función se pueden pasar tantos argumentos como se deseen. Los mismos pueden ser una variable, un string, un objeto, etc.

En return lo que hacemos es decirle que queremos que nos devuelva la función.

Veamos un ejemplo más útil:

Calcular la edad de una persona

Por ejemplo una función que te dice la edad de una persona pasándole la fecha en formato aaaa-mm-dd (año-mes-día) puede ser como sigue:

<?
public function edad($nacimiento){
//restamos los años (año actual - año cumpleaños)
$edad = date("Y") - ereg_replace("^(.{4}).*","\\1",$nacimiento);


//si pasamos de año, pero aún no cumplimos años, resta 1
if( date("m-d") < ereg_replace(".*(.{5})$","\\1",$nacimiento) ) $edad--;

return $edad;
}
?>

No voy a explicar lo que hace adentro de la función porque ya lo veremos más adelante pero sí básicamente cómo se utiliza esta función. Por ejemplo nuestro archivo perfil puede contener lo siguiente

Mi nombre es Hernán y tengo <? echo edad('1977-07-06'); ?> años de edad.

Y en pantalla esto se vería así:

Mi nombre es Hernán y tengo 30 años de edad.

Por ahora seguro que este ejemplo no lo ven muy útil, pero ya van a ver que en muchos sitios que hagan con php los usuarios al momento de registrarse ponen su fecha de nacimiento, y no es necesario pedirles su edad, ya que se calcula automáticamente cada vez que necesiten mostrarla con esta funcioncita.

Consejo: conviene tener un archivo funciones.php con todas las funciones de este tipo que utilizan en el sitio, y lo incluyen en todas las páginas, ya van a ver que a la hora de programar utilizan muchos procesos similares, si estos se incluyen en funciones, los pueden llamar a todo momento y así ahorrar muchas lineas de código y de tiempo. A medida que avanzamos con el curso vamos a ir entendiendo igual la fuerza de tener funciones.

<< CLASE ANTERIOR  

CLASE SIGUIENTE >>


Enviar a Del.icio.us Enviar a Meneame Enviar a Digg Enviar a Fresqui Enviar a Enchilame

Comentarios (10)

  1. José María Puentes dice:

    Apenas estoy conociendo estos temas, excelentes, didácticos, y fáciles de seguir,los cuales agradezco sinceramente a elwebmaster.com.
    Muchas gracias

  2. jose luis huarcaya camargo dice:

    muy bueno

  3. JACQUELINE OLVERA dice:

    ES BUENO

  4. Mijael dice:

    hola gracias por el curso y una consulta
    ¿como se llama a una funcion desde otro archivo ?
    ¿cuales son los tipos de funciones en PHP y en que se diferencian? (public, private….)

  5. Edison dice:

    Hola se que este comentario no viene con relacion a la fecha que se hizo este taller, pero bueno tengo una inquietud como se definen las clases en php, constructores, destructores y como se instancian objetos, bueno se que esto viene a ser algo mas a POO dado que soy egresado de ing. sistemas me interesa, ademas como se podria llamar a una interfaz windows dentro del codigo de php, digamos que hiciera una ventanita de chat en java y quisiera llamarla en la web hecha en php. Gracias por tomarse las molestias en contestar y bueno le contesto a Mijael pues public, private, protect son metodos de acceso que tienen las funciones, y atributos de una clase digamos y cual seria su diferencia? es como su nombre lo indica las public son de acceso publico y se las llamaria o invocaria desde cualquier parte casi siempre, las private son de acceso privado solo son llamadas o de acceso restringido y las protect son de acceso protegida casi parecidas a las private aunque segun como las usemos, estos metodos de acceso nos permite hacer nuestra web un poco mas segura, ademas se aprovecha esa propiedad o digamos ventaja de la POO que es el encapsulamiento, bueno espero haber sido util jeje.

    Un saludo y hasta pronto.

  6. EddiE DesiGn dice:

    hola estoy llevando el curso y esta bravazo, pero tengo un error aqui me aparece este problema
    <?
    public function edad($nacimiento) {
    // Restamos los a̱os (a̱o actual Рa̱o cumplea̱os)
    $edad = date (“y”) – ereg_replace (“^(.{4}).*”,”\\1″, $nacimiento);
    // Si pasamos de año, pero aun no cumplimos años, resta 1
    if (date (“m-d”)

    Parse error: syntax error, unexpected T_PUBLIC in C:\AppServ\www\Curso_Php\Clase_008.php on line 2
    Porfavor JUSTI a ver si me puedes ayudar no quiero continuar sin resolver este problemilla :(…

  7. Justi dice:

    @eddie hola, proba sacar la palabra public, que te quede solo “function edad( $nacimiento ) {” en la linea 2. Seguramente eso este mal.

  8. Alejandra Santos dice:

    Hola:

    he intentado usar elcódigo y me da error de sintaxix en la línea siguiente:

    $edad = date(”Y”) – ereg_replace(”^(.{4}).*”,”\\1″,$nacimiento);

    ya quité lo de public.
    agradezco tu ayuda,sinceramente.
    saludos desde Uruguay!!

  9. piero junior rios vasquez dice:

    hola este curso que ustedes ponen es muy interesante pero, fuera mas interesante si pusieran con algunos videos que te explique mas a detalle.

  10. Rafael Aragon dice:

    Me encontré un script que genera codigo de barras ulilizando funciones y no pudo rellamar la función en un do while, pues da error de que no se puede rellamar la funcion en el script, algo así

    Do { funcion1…funcion2 ….._

    que puedo hacer para soluccionar el problema…

Deja tu opinión

© 2007 - 2008 elWebmaster.com | Powered by Wordpress | Diseño CSS y XHTML válido. | Algunos íconos basados en FamFamFam Mini
Acceder