Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/funciones»
De WikiEducator
(→Funciones anónimas) |
(→Funciones anónimas) |
||
Línea 278: | Línea 278: | ||
;Son funciones que no tienen nombre | ;Son funciones que no tienen nombre | ||
;Se conocen como (funciones de clousura funciones cierre), y de hecho implementa la clase (Clousura)[https://www.php.net/manual/es/class.closure.php] | ;Se conocen como (funciones de clousura funciones cierre), y de hecho implementa la clase (Clousura)[https://www.php.net/manual/es/class.closure.php] | ||
− | |||
− | |||
;Crear una función anónima: | ;Crear una función anónima: | ||
<source lang=php> | <source lang=php> | ||
Línea 285: | Línea 283: | ||
return "Hola desde una función anónima"; | return "Hola desde una función anónima"; | ||
} | } | ||
+ | |||
+ | }} | ||
</source> | </source> | ||
<br /> | <br /> | ||
Línea 290: | Línea 290: | ||
;Ahora viene la paradoja de para qué puede servir y cómo la puedo invocar. | ;Ahora viene la paradoja de para qué puede servir y cómo la puedo invocar. | ||
}} | }} | ||
+ | <br /> | ||
;Para invocar a una función anónima tenemos dos formas: | ;Para invocar a una función anónima tenemos dos formas: | ||
− | :<span id= | + | :<span id=r>A través de las variables de funciones</span> |
− | :<span id= | + | :<span id=r>Como argumento en una función</span>, o sea que el parámetro de una función sea otra función |
*Uso cuando necesito un parámetro en una función | *Uso cuando necesito un parámetro en una función |
Revisión de 04:06 1 dic 2022
Proceso de creación / invocación de una función
- Lo primero es declarar una función
- Esto implica dejar una zona de memoria identificada con el nombre de la función
- En contenido de esas posiciones de memoria serán las acciones de la función
- Estas acciones estarán establecidas no con valores reales, sino con los parámetros de la declaración
- Estos parámetros se conocen como parámetros formales
- Invocación de función
- Es un tipo de instrucción, invocar a una acción o función.
- lo primero que ocurrirá es que voy a esa zona de memoria
- Lo siguiente es dar los valores reales (de la invocación) a los parámetros de la función (de la declaracion.
- Una vez que la función termina de ejecutarse, se retornará a la instrucción siguiente de la invocación
- Si la función devuelve algún valor, se recogerá y asignará a la variable de la instrucción de asignación desde la cual se invocó
<?php function a(&$num1, &$num2, $num3){ echo "Dentro de la función visibilizando valores <hr />"; echo "Valor de los parámetros \$num1 = $num1 \$num2 = $num2 \$num3 = $num3<br />"; $num1+=5; $num2+=5; $num3+=5; echo "Valor de los parámetros \$num1 = $num1 \$num2 = $num2 \$num3 = $num3<br />"; echo "Salgo de la función"; } //Ahora considero programa principal $a=100; $b=200; $c=300; echo "En el main antes de invocar a la función visualizando variables<hr />"; echo "Valor de variables \$a = $a \$b = $b \$c = $c <br />"; a($a,$b,$c); echo "En el mail después de invocar a la función visualizando variables<hr />"; echo "Valor de variables \$a = $a \$b = $b \$c = $c <br />"; ?>