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

UNIVERSIDAD LAICA ELOY ALFARO DE MANABI

UNIVERSIDAD LAICA ELOY ALFARO DE MANABI FACULTAD DE CIENCIAS INFORMATICAS ASIGNATURA: PROGRAMACIÓN AVANZADA TEMA/TITULO

FACULTAD DE CIENCIAS INFORMATICAS

ELOY ALFARO DE MANABI FACULTAD DE CIENCIAS INFORMATICAS ASIGNATURA: PROGRAMACIÓN AVANZADA TEMA/TITULO DEL TRABAJO:

ASIGNATURA:

PROGRAMACIÓN AVANZADA

TEMA/TITULO DEL TRABAJO:

FUNCIONES

INTEGRANTES:

ALCÍVAR ACEBO JUAN JOSÉ ESPINOZA ZAMBRANO JULIO CÉSAR MENÉNDEZ ESPINALES JHONNY XAVIER NAREA RODRÍGUEZ JOSUE ANTONIO

Curso: 5° “A”

Profesor(a):

ING. RUBÉN SOLORZANO

12 DE MAYO DEL 2014

XAVIER NAREA RODRÍGUEZ JOSUE ANTONIO Curso: 5° “A” Profesor(a): ING. RUBÉN SOLORZANO 12 DE MAYO DEL
Programación Avanzada Índice Introducción Objetivos Funciones Parámetros de las funciones Pasar parámetros por
Programación Avanzada
Índice
Introducción
Objetivos
Funciones
Parámetros de las funciones
Pasar parámetros por referencia
Parámetros por defecto
Lista de longitud variable de parámetros
Devolviendo valores
Tipos de funciones
Funciones normales
¿Que son parámetros normales?
Funciones con parámetros
Parámetro por defecto
Sobrecarga de parámetros
Funciones recursivas
¿Qué son Funciones recursivas?
Funciones recursivas en PHP
Conclusión
Bibliografía
3
3
4
5
5
6
8
9
10
10
10
10
10
11
12
12
12
15
15
2
Programación Avanzada Introducción Las funciones son una parte importante en cualquier lenguaje de programación y
Programación Avanzada
Introducción
Las funciones son una parte importante en cualquier lenguaje de programación y PHP no es
la excepción. PHP al igual que otros lenguajes de programación cuenta con una forma de
realizar operaciones o acciones, que son las funciones. Las funciones son como piezas
independientes de un programa, que por ahora no es necesario que conozcamos el código que
las conforman, simplemente tenemos que saber para qué sirven y como llamarlas. A medida
que se desarrolla este trabajo, se tendrá una idea más clara de los que son las funciones,
conocer sus sintaxis, la forma de usarlas, y de los tipos de funciones que existen, como las
funciones normales, variables y recursivas.
Objetivos
 Instruir al usuario a crear sus propias funciones.
 Utilizar parámetros fijos y variables.
 Conocer los tipos de funciones que existen.
3
Programación Avanzada Funciones Las funciones son bloques de código que pueden ser utilizados en cualquier
Programación Avanzada
Funciones
Las funciones son bloques de código que pueden ser utilizados en cualquier momento dentro
del código PHP, para cumplir con un propósito determinado. Para definir a una función se
utiliza la sentencia function seguida del nombre de la función y de las líneas de instrucciones,
estas últimas deben ir entre llaves {…}. Si la función tiene que devolver un valor a la línea
de código donde se invocó, se utiliza la orden return seguida del valor que se devuelve. Si
no se devuelve un valor, sino que solo se ejecuta instrucciones dentro del código de la propia
función, puede prescindirse de la sentencia return. (Ferrol, 2008)
Las funciones en la mayoría de casos, tienen parámetros o argumentos entre paréntesis a
través de los cuales se pasan los datos con los que hay que realizar operaciones.
Una función puede declararse con siguiente sintaxis:
Para llamarla utilizamos el nombre de la función seguido de unos paréntesis:
4
Programación Avanzada Cualquier instrucción válida de PHP puede aparecer en el cuerpo de la función,
Programación Avanzada
Cualquier instrucción válida de PHP puede aparecer en el cuerpo de la función, incluso otras
funciones y definiciones de clases.
En PHP3, las funciones deben definirse antes de que se referencien. A partir de PHP4 ya no
existe tal requerimiento, excepto cuando una función es definida condicionalmente, y debe
ser procesada antes que sea llamada. Los nombres de funciones se pueden llamar en
mayúsculas o minúsculas, aunque es una buena costumbre llamar a las funciones tal y como
aparecen en su definición. PHP no soporta la redefinición de funciones previamente
declaradas.
Parámetros de las funciones
Se puede suministrar información a las funciones mediante una lista de parámetros, variables
o constantes separadas por comas. PHP soporta pasar parámetros por valor (comportamiento
por defecto), por referencia, y parámetros por defecto. Las listas de longitud variable de
parámetros solo están soportadas en PHP4 y posteriores. Un efecto similar puede conseguirse
en PHP3 pasando un array de parámetros a la función:
Pasar parámetros por referencia
Los parámetros de una función se pasan por valor (de manera que si se cambia el valor del
argumento dentro de la función no se ve modificado fuera de ella). Si se desea que una
función modifique sus parámetros, hay que pasarlos por referencia. Para hacerlo se antepone
un ampersand (&) al nombre del parámetro en la definición de la función:
5
Programación Avanzada Parámetros por defecto Una función puede definir valores por defecto para los parámetros,
Programación Avanzada
Parámetros por defecto
Una función puede definir valores por defecto para los parámetros, siendo el valor por defecto
una expresión constante, y no una variable, un miembro de una clase o una llamada a una
función.
6
Programación Avanzada Hay que recalcar que cuando se usan parámetros por defecto, estos tienen que
Programación Avanzada
Hay que recalcar que cuando se usan parámetros por defecto, estos tienen que estar a la
derecha de cualquier parámetro sin valor por defecto, de otra manera las cosas no funcionarán
de la forma esperada. Por ejemplo:
Pero comparándose con este ejemplo:
7
Programación Avanzada El resultado será el esperado. Lista de longitud variable de parámetros No se
Programación Avanzada
El resultado será el esperado.
Lista de longitud variable de parámetros
No se necesita ninguna sintaxis especial, las listas de parámetros pueden ser escritas en la
llamada a la función y se comportarán de la manera esperada, usando las funciones
proporcionada por PHP:
 Func_num_arg(): Devuelve el número de parámetros pasados a una función de
parámetros variable (El índice de un parámetro dentro de una función va desde 0 hasta
n-1, donde n representa el número de parámetros de la función)
 Func_get_arg(): Devuelve el valor de un parámetro en particular. Por ejemplo para
retornar el valor del primer parámetro de una función de parámetros variable,
podemos escribir:
 Func_get_arg(): Retorna todos los parámetros pasados a la función en forma de
array.
8
Programación Avanzada Devolviendo valores Los valores se retornan usando la instrucción opcional return. Puede
Programación Avanzada
Devolviendo valores
Los valores se retornan usando la instrucción opcional return. Puede devolverse cualquier
tipo de valor, incluyendo lista y objetos.
No se pueden devolver múltiples valores desde una función, pero se puede conseguir un
resultado familiar devolviendo un array.
Para devolver una referencia desde una función, se tiene que usar el operador de referencia
& tanto en la declaración de la función como en la asignación del valor de retorno a una
variable.
9
Programación Avanzada Tipos de funciones Funciones normales ¿Que son parámetros normales? Las funciones son rutinas
Programación Avanzada
Tipos de funciones
Funciones normales
¿Que son parámetros normales?
Las funciones son rutinas creadas por el programador para realizar procesos que se repetirán
se usarán más de una vez. Las funciones pueden ser n-paramétricas (con n ≥ 0), y estos
parámetros pueden ser de entrada, de salida o de entrada y salida.
o
Funciones con parámetros
Si necesitas una función a la cuál le puedas pasar parámetros, se escribiría del mismo modo,
con el nombre de los parámetros entre los paréntesis, separados por comas. Para una función
bi-paramétrica, el código podría ser algo como:
<?php
function suma($a, $b){
return $a + $b;
}
$a = 1; $b = 2;
echo "Sumemos $a + $b = " . suma($a, $b);
?>
Nótese que en este ejemplo hemos utilizado la palabra clave return. Esta palabra sirve para
que la función devuelva valores al lugar en dónde se haya llamado.
A
efectos prácticos digamos que la función se ejecuta en un entorno separado y se "sustituye"
en tiempo de ejecución por el resultado devuelto por return en el contexto en el que se había
llamado. En el ejemplo anterior, sumar($a, $b) === 3 (siendo === el operador de identidad).
Parámetro por defecto
En la definición formal de la función se pueden especificar parámetros por defecto, de tal
modo que si no se pasa uno en el momento de llamarla, el parámetro toma un valor. Si este
valor no se especifica, el intérprete devolverá un error en tiempo de ejecución por número de
parámetros inválido.
Para especificarlos, se hace así:
10
Programación Avanzada function test($parametro = 'valor') { /* operaciones */ return $parametro } Sobrecarga
Programación Avanzada
function test($parametro = 'valor') {
/* operaciones */
return $parametro
}
Sobrecarga de parámetros
Desde PHP4, se pueden sobrecargar funciones, esto es, definir funciones que aceptan
distintos parámetros y puedan tener una lógica interna diferente.
Una función sobrecargada puede ser algo como:
function overload() {
return array(1);
}
function overload($a) {
return array(2, $a);
}
function overload($a, $b) {
return array(3, array($a, $b));
}
function oveload($a, $b, $c) {
return array(4, array($a, $b, $c));
}
Falta decir que desde PHP5 las funciones sin parámetros especificados (con una lista vacía),
pueden recibir cualquier número arbitrario de parámetros. La lista de funciones anteriores
podría reescribirse como una sola.
También se pueden crear funciones anónimas en tiempo de ejecución. Estas funciones son
muy útiles en la lambda-cálculo, y se crean con create_function, con un string en el segundo
parámetro que sería el código PHP que debe de realizar la función. En PHP6 se introduce un
nuevo estilo de funciones anónimas que permite además asignar funciones a variables, así
como se hace en otros lenguajes como JavaScript.
11
Programación Avanzada Funciones recursivas ¿Qué son Funciones recursivas? Son aquellas que tienen la capacidad de
Programación Avanzada
Funciones recursivas
¿Qué son Funciones recursivas?
Son aquellas que tienen la capacidad de llamarse a sí mismas y como único requisito se pide
que haya alguna forma de salir en la llamada recursiva, para que no se llame infinitamente;
por ello se debe implementar adecuadamente la terminación de la recursión.
Funciones recursivas en PHP
PHP también permite la recursión, es decir que una función se llame a sí misma. Estas
funciones necesitaran siempre un return, para poder devolver un valor.
He aquí algunos ejemplos de funciones recursivas:
12
Programación Avanzada Funciones variables En PHP se pueden utilizar variables para almacenar el nombre de
Programación Avanzada
Funciones variables
En PHP se pueden utilizar variables para almacenar el nombre de las funciones. Si una
variable almacena el nombre de una función, se tendrá que añadir unos paréntesis al final de
la variable para hacer la llamada correctamente. (PHP5, 2004)
PHP soporta el concepto de funciones variables. Esto significa que si un nombre de variable
tiene paréntesis anexos a él, PHP buscará una función con el mismo nombre que lo evaluado
por la variable, e intentará ejecutarla. Entre otras cosas, esto se puede usar para implementar
llamadas de retorno, tablas de funciones, y así sucesivamente.
Las funciones variables no funcionará con constructores de lenguaje como echo, print,
unset(), isset(), empty(), include, require y similares. Utilice funciones de envoltura para
hacer uso de cualquiera de estos constructores como funciones variables
13
Programación Avanzada He aquí un ejemplo de funciones variables: . 14
Programación Avanzada
He aquí un ejemplo de funciones variables:
.
14
Programación Avanzada Conclusión En conclusión hemos aprendido que las funciones, son parte fundamental para el
Programación Avanzada
Conclusión
En conclusión hemos aprendido que las funciones, son parte fundamental para el aprendizaje
no solo del código PHP, sino que para los demás lenguajes de programación. Las funciones
son elementos de programación bastante útiles, ya que al ser bloques de código con nombres,
podemos ejecutar esos bloques de códigos, con tal solo con invocar dichos nombres. Hemos
también conocido de los tipos de funciones, y la manera de cómo estos se comportan, cada
uno de ellos con una particularidad diferente. Al conocer estos tipos de funciones contamos
con nuevas opciones, al momento de desarrollar código, y dependiendo de la situación,
utilizaremos los tipos de funciones que más nos convenga, para obtener los mejores
resultados posibles.
Bibliografía
Ferrol, C. V. (2008). Programación en PHP5. Nivel Básico. En C. V. Mariño Ferrol, & E. Cabañas
Olmo, Programación en PHP5. Nivel Básico.
PHP5, M. i. (2004). Manual imprescindible de PHP5. En L. M. Granado, Manual imprescindible de
PHP5. ANAYA MULTIMEDIA.
http://www.php.net/manual/es/functions.variable-functions.php
http://www.7sabores.com/blog/funciones-variables-php
http://www.elcodigofuente.com/funciones-variables-php-funcion-533/
http://codigofacilito.com/videos/tutorial_php_funciones
15