Páginas

domingo, 19 de diciembre de 2010

Funciones en PHP

Para esta entrada antes de seguir con lo que respecta a las clases, hablare un poco de las funciones en PHP, esto motivado a que los metodos de las clases se componen por funciones y para los que comenzamos aveces nos es dificil entender el funcionamiento de estas, entonces una funcion que es??

Una funcion es un fragmento de código que utilizamos para realizar una tarea o accion especifica, se declaran mediante la palabra "function" seguido de los parentesis "()", y el código que va dentro de esta se encierra entre corchetes.
ejemplo de declaracion de una funcion:
function nombreDeFuncion()
{
  echo "Este es el codigo de la funcion";
}

Sencillo no?? para utilizar el codigo de esta funcion solo tendriamos que realizar un llamado a la misma, esto lo hacemos colocando el nombre de la funcion seguido de los parentesis ejemplo

function nombreDeFuncion()
{
  echo "Este es el codigo de la funcion";
}
nombreDeFuncion();
si ejecutamos este código como resultado tendriamos el texto que indicamos entre las comillas.

Hasta ahora hemos hablado de las funciones simples, pero las funciones van mas alla de esto ya que a estas podemos ingresarles parametros externos e incluso pedir que nos den un retorno, pero parametos?? retorno?? que es como se usa??.

Un parametro es un valor que le pasamos a la funcion en su llamado, para esto en la declaracion de la funcion debemos de indicar entre los parentesis el nombre de este y cuando llamemos a la misma debemos indicarle en los parentesis cual es el valor del mismo ejemplo:
function saludar($quien)
{
  echo "Hola ".$quien." como estas?
";
}
saludar("carlos");
saludar("pedro");
saludar("juan");
el resultado de estas llamadas nos da como resultado

hola carlos como estas
hola pedro como estas
hola juan como estas

sencillo no?? pero que pasa si no le pasamos ningun parametro al momento de hacer el llamado

saludar();
PHP nos daria el siguiente alerta "Warning: Missing argument 1 for saludar(), called in". Esto lo que nos indica sencillamente es que falta indicar el argumento de la funcion saludar, para evitarnos este tipo de error podemos declarar "parametros por defectos".

Un parametro por defecto es un parametro al cual se le asigna un valor al momento de declarar una funcion, esto nos da como ventaja que si a la funcion no se le pasa parametro este toma el valor que se le indico, por lo que PHP no nos enviaria el Warning que nos mostro al principio, y asi podriamos enviar un mensaje al usuario indicandole que debe indicar el valor veamoslo con un ejemplo
function saludar($quien = "valor por defecto")
{
  if($quien == "valor por defecto"){
    echo "debe indicar un valor a la funcion";
  }
  else{
     echo "Hola ".$quien." como estas?
";
  }
}
si se fijan hicimos un condicional para que si no se pasa ningn valor la funcion se lo indique al usuario, sencillo no??.

Ahora hablaremos un poco sobre el retorno, el retorno de una funcion es un valor que esta regresa despue de la ejecución, declaramos el retorno dentro de la funcion mediante la palabra return seguido del valor que se desea regresar ejemplo.
function sumar($valor1 = 0,$valor2 = 0)
{
  $resultado = $valor1 + $valor2;
  return $resultado;
}
echo sumar(1,1);
si ejecutamos este codigo el resultado sera en la pantalla la suma de los numeros que se pasa como parametro.

OJO: es importante diferenciar entre el retorno de una funcion y mostrar el mensaje de la misma, el retorno de la funcion es un valor que esta retorna al momento de su ejecucion y puede ser almacenado y utilizado en otra parte de nuestro codigo, en cambio el imprimir un mensaje dentro de la funcion solo nos mostrara el mensaje cuando se ejecute la misma, aca dejo un ejemplo que daba en foros del web cuando hacian esta pregunta Diferencia entre echo y return

bueno el uso de la funciones es muy amplio, como dije al principio en la POO se usa para declarar los metodos de nuestras clases, tambien para hacer rutinas de codigo les dejo un pequeño ejemplo:
function calcularEdad($fecha=NULL)
{
   $fe = explode("-",$fecha);    
   if($fe[1] == date("m")){
      $edad = date('Y')-$fe[0]-1;
   }
   elseif($fe[1] == date('m')){
      if($fe[2] < date('d'))
         $edad = date('Y')-$fe[0];
      }
      else{
         $edad = date('Y')-$fe[0]-1;
      }
   }
   else{
       $edad = date('Y')-$fe[0];
   }
   return $edad;
}
//la llamamos con la fecha en formato 'año-mes-dia'
echo calcularEdad('2010-12-20');

esta es una funcion que calcula la edad indicandole la fecha de nacimiento como parametro, la utilidad de la funcion esta en que si necesitamos hacer un registro donde calculemos la edad solo tenemos que llamar a esta funcion, si deseamos tener tambien uun formulario de edicion de registro y cambia la fecha de nacimiento, no tenemos que escribir otra vez este codigo sino que llamar a la funcion, espero que esta entrada sea util, es basico pero enseña algo que es necesario saludos y hasta una proxima entrada

No hay comentarios:

Publicar un comentario