Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/funciones»
De WikiEducator
(→Funciones anónimas) |
(→Funciones anónimas) |
||
Línea 294: | Línea 294: | ||
:<span id=r>A través de las variables de funciones</span> | :<span id=r>A través de las variables de funciones</span> | ||
:<span id=r>Como argumento en una función</span>, o sea que el parámetro de una función sea otra función | :<span id=r>Como argumento en una función</span>, o sea que el parámetro de una función sea otra función | ||
+ | ;Variables de funciones | ||
+ | *Declaro una variable y le asigno una función | ||
+ | *En realidad es una forma diferente de declarar la función e invocarla, tiene la ventaja de gestionar todo como variables (posible comodida por parte del programador) | ||
+ | *Si uso esta técnica, no puedo invocar a la función antes de su declaración (ya que no existe en contenido de la variable) | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | $mi_funcion = function () { | ||
+ | return "hola caracola"; | ||
+ | }; | ||
+ | echo $mi_funcion(); | ||
+ | //imprimiría "hola caracola" | ||
+ | //===================================== | ||
+ | |||
+ | echo $mi_funcion(); | ||
+ | |||
+ | $mi_funcion = function () { | ||
+ | return "hola caracola"; | ||
+ | }; | ||
+ | //Este código fallaría, | ||
+ | //===================================== | ||
+ | <?php | ||
+ | echo mi_funcion(); | ||
+ | |||
+ | function mi_funcion () { | ||
+ | return "hola caracola"; | ||
+ | }; | ||
+ | |||
+ | //Este código funcionaría | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ?> | ||
+ | //Este código funcionaría, php legunaje de doble pasada en su interpretación, | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ?> | ||
+ | </source> | ||
+ | |||
+ | |||
+ | *Consiste en declarar una variable y asiganer la función | ||
+ | *Posteriormente podré invocar la función a través de la variable (he de poner también paréntesis en la invocación y no olvidar el ; (punto y coma) en la asignación) | ||
+ | <source lang=php> | ||
+ | |||
+ | </source> | ||
*Uso cuando necesito un parámetro en una función | *Uso cuando necesito un parámetro en una función | ||
*Uso como valor de una variable | *Uso como valor de una variable |
Revisión de 04:32 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 />"; ?>