Diferencia entre revisiones de «Plantilla:PHP/Declaracion/Funciones»

De WikiEducator
Saltar a: navegación, buscar
(Deshecha la revisión 20604 de ManuelRomero (disc.))
Línea 17: Línea 17:
 
}
 
}
 
</div>
 
</div>
 +
<div class=slide>
 +
*Es importante diferenciar entre delarar una función e invocar a una función
 +
*Algo obvio, pero importante
 +
*En la declaración tenemos tres partes
 +
#nombre o identificación de funciones
 +
#parámetros formales entre paréntesis (Estos han de existir, aunque no haya parámetros)
 +
#Cuerpo de la función, dentro de él puede estar la instrucción return, en cuyo momento termina la ejecución de la función y se vuelve a la siguiente instrucción del programa, siguiente a la invocación de la función.
 +
</div>
 +
  
 
<div class=slide>
 
<div class=slide>
;El nombre de la función  
+
;Identificador de función
</source>
+
* El nombre de función es un identificador que empieza por una letra o guión bajo, seguido 0 o muchas letras, números o guiones bajos 
 +
{{Tip|Expresión regular para el identificador de funciones|
 +
'''''[a-zA-Z_f_][a-zA-Z0-9_]*'''''
 +
}}
 +
</div>
 +
<div class=slide>
 +
;Parámetros formales
 +
*Son nombres de variables que usaré al escribir el código o cuerpo de la función
 +
*El nombre ha de ser significativo y se convertirán en variables locales a la función
 +
*Una vez que se termina la función estas variables desaparecerán de memoria
 +
{{MRM_Puntos clave|Title=parámetros formales|
 +
Los parámetros formales son variables locales a la función}}
 +
</div>
 +
 
 +
<div class=slide>
 +
{{MRM_Actividad|Title=Ejercicio usando funciones|
 +
'''''Haz un programa donde en el programa principal se creen dos variables $a y $b'''''
 +
*Crea una función que reciba como parámetros locales '''''$a''''' y '''''$b'''''
 +
*La función visualizará el valor de las variables, las modificará y las volverá a visualizar
 +
*El programa principal
 +
#asignará valor a las variables
 +
#las visualizará
 +
#invocará a la función
 +
#volverá a visualizar las variables
 +
}}
 +
</div>
 +
 
 +
<div class=slide>
 +
===Parámetros formales: Valores y referencias===
 +
*Cómo hemos visto, los parámetros formales son valores pasados en la invocación a la función
 +
*Si queremos que la función pueda modificar el valor de los valores de los parámetros, en este caso hemos de pasarlos por referenica
 +
*En este caso lo que ocurre en realidad es que pasamos la dirección de memoria dónde se guarda el valor
 +
</div>
 +
 
 +
<div class=slide>
 +
;Invocando funciones
 +
 
 
*Parámetros formales
 
*Parámetros formales
 
*Invocación a funciones
 
*Invocación a funciones
Línea 30: Línea 75:
  
  
 
+
<div class="slide">
 
====Funciones de php de tipos y valores====
 
====Funciones de php de tipos y valores====
 
  http://php.net/manual/es/ref.var.php
 
  http://php.net/manual/es/ref.var.php
*Existen una serie de funciones que son interesantes de conocer
+
*Existen una serie (muchas) de funciones que son interesantes de conocer
 +
*Estas funciones ya están creadas y se pueden usar directamente
 
*Están relacionadas con los tipos de datos y valores
 
*Están relacionadas con los tipos de datos y valores
 
*Alguna de ellas son extremadamente útiles y utilizadas, por ejemplo antes de procesar un dato, hay que ver que dicho dato tenga valor.
 
*Alguna de ellas son extremadamente útiles y utilizadas, por ejemplo antes de procesar un dato, hay que ver que dicho dato tenga valor.
Línea 40: Línea 86:
  
 
<div class="slide">
 
<div class="slide">
 
 
;[http://es1.php.net/manual/es/function.var-dump.php var_dump]
 
;[http://es1.php.net/manual/es/function.var-dump.php var_dump]
 
<source lang=php>
 
<source lang=php>
Línea 49: Línea 94:
  
 
<div class="slide">
 
<div class="slide">
<!--4---------------------------------->
 
 
 
;[http://es1.php.net/manual/es/function.isset.php isset]
 
;[http://es1.php.net/manual/es/function.isset.php isset]
 
<source lang=php>
 
<source lang=php>
Línea 74: Línea 117:
  
 
<div class="slide">
 
<div class="slide">
<!--4---------------------------------->
 
 
 
;[http://es1.php.net/manual/es/function.empty.php empty]
 
;[http://es1.php.net/manual/es/function.empty.php empty]
 
<source lang=php>
 
<source lang=php>
Línea 84: Línea 125:
  
 
<div class="slide">
 
<div class="slide">
<!--4---------------------------------->
 
 
 
{{MRM_Actividad|
 
{{MRM_Actividad|
 
Probamos las fuciones var_dump() que nos da información sobre el valor y el tipo}}
 
Probamos las fuciones var_dump() que nos da información sobre el valor y el tipo}}
Línea 96: Línea 135:
  
 
<div class="slide">
 
<div class="slide">
<!--4---------------------------------->
 
 
 
{{MRM_Actividad|
 
{{MRM_Actividad|
 
*Define las siguientes variables que se especifican en el código siguiente y verifica el resultado con empty()  
 
*Define las siguientes variables que se especifican en el código siguiente y verifica el resultado con empty()  
Línea 112: Línea 149:
  
 
<div class="slide">
 
<div class="slide">
<!--4---------------------------------->
 
 
 
;[http://es1.php.net/manual/es/function.gettype.php gettype]]
 
;[http://es1.php.net/manual/es/function.gettype.php gettype]]
 
*Devuelve el tipo de una variable
 
*Devuelve el tipo de una variable
Línea 122: Línea 157:
  
 
<div class="slide">
 
<div class="slide">
<!--4---------------------------------->
 
 
 
;[http://es1.php.net/manual/es/function.is-bool.phpis_bool][http://es1.php.net/manual/es/function.is-double.php is-double] [http://es1.php.net/manual/es/function.is-int.php is-int], is-xxx
 
;[http://es1.php.net/manual/es/function.is-bool.phpis_bool][http://es1.php.net/manual/es/function.is-double.php is-double] [http://es1.php.net/manual/es/function.is-int.php is-int], is-xxx
 
*son funciones donde xxx especificado en el último nombre, puede ser cualquiera de los tipos  
 
*son funciones donde xxx especificado en el último nombre, puede ser cualquiera de los tipos  
Línea 130: Línea 163:
  
 
<div class="slide">
 
<div class="slide">
 
 
*Todas ellas devuelve un booleano que indica si la variable, valor o expresion es o no de ese tipo,
 
*Todas ellas devuelve un booleano que indica si la variable, valor o expresion es o no de ese tipo,
 
<source lang=php>
 
<source lang=php>
Línea 152: Línea 184:
  
 
<div class="slide">
 
<div class="slide">
<!--4---------------------------------->
 
 
 
;[http://php.net/manual/es/function.unset.php unset]
 
;[http://php.net/manual/es/function.unset.php unset]
 
*Destruye la variable especificada perdiéndose su valor
 
*Destruye la variable especificada perdiéndose su valor
 
void unset ($var)
 
void unset ($var)
 
</div>
 
</div>
 
<div class="slide">
 

Revisión de 20:47 18 oct 2016

Funciones



Icon objectives.jpg
Objetivo
Las funciones es un elemento fundamental
  • Permite crear código modular
  • Una forma de estructurar nuestro programa

Declaración de funciones

function nombreFuncion ($paramFormal1, $paramFormal2 ,...){
  //Instrucciones de la función
  return $valorRetorno //Opcionalmente en caso de que devuelva algún valor la función
}
</div>
<div class=slide>
*Es importante diferenciar entre delarar una función e invocar a una función
*Algo obvio, pero importante
*En la declaración tenemos tres partes
#nombre o identificación de funciones
#parámetros formales entre paréntesis (Estos han de existir, aunque no haya parámetros)
#Cuerpo de la función, dentro de él puede estar la instrucción return, en cuyo momento termina la ejecución de la función y se vuelve a la siguiente instrucción del programa, siguiente a la invocación de la función.
</div>
 
 
<div class=slide>
;Identificador de función
* El nombre de función es un identificador que empieza por una letra o guión bajo, seguido 0 o muchas letras, números o guiones bajos  
{{Tip|Expresión regular para el identificador de funciones|
'''''[a-zA-Z_f_][a-zA-Z0-9_]*'''''
}}
</div>
<div class=slide>
;Parámetros formales
*Son nombres de variables que usaré al escribir el código o cuerpo de la función
*El nombre ha de ser significativo y se convertirán en variables locales a la función
*Una vez que se termina la función estas variables desaparecerán de memoria
{{MRM_Puntos clave|Title=parámetros formales|
Los parámetros formales son variables locales a la función}}
</div>
 
<div class=slide>
{{MRM_Actividad|Title=Ejercicio usando funciones|
'''''Haz un programa donde en el programa principal se creen dos variables $a y $b'''''
*Crea una función que reciba como parámetros locales '''''$a''''' y '''''$b'''''
*La función visualizará el valor de las variables, las modificará y las volverá a visualizar
*El programa principal 
#asignará valor a las variables
#las visualizará
#invocará a la función
#volverá a visualizar las variables
}}
</div>
 
<div class=slide>
===Parámetros formales: Valores y referencias===
*Cómo hemos visto, los parámetros formales son valores pasados en la invocación a la función
*Si queremos que la función pueda modificar el valor de los valores de los parámetros, en este caso hemos de pasarlos por referenica
*En este caso lo que ocurre en realidad es que pasamos la dirección de memoria dónde se guarda el valor
</div>
 
<div class=slide>
;Invocando funciones
 
*Parámetros formales
*Invocación a funciones
**Parámetros reales
**Paso de parámetros por valor Vs Referencia
</div>
 
 
 
 
<div class="slide">
====Funciones de php de tipos y valores====
 http://php.net/manual/es/ref.var.php
*Existen una serie (muchas) de funciones que son interesantes de conocer
*Estas funciones ya están creadas y se pueden usar directamente
*Están relacionadas con los tipos de datos y valores
*Alguna de ellas son extremadamente útiles y utilizadas, por ejemplo antes de procesar un dato, hay que ver que dicho dato tenga valor.
*A continuación trataremos alguna de ellas
</div>
 
<div class="slide">
;[http://es1.php.net/manual/es/function.var-dump.php var_dump]
<source lang=php>
 void var_dump($expresion)
  • Nos da información sobre la estructura de un valor resultado de una expresion
isset
 bool isset ( $variable )
  • verifica que una variable tiene valor (está definida y no tiene un valor null)
<?php
 $VariableValor= 5;
 print ("El valor de la variable es $VariableValor");
 print ("El valor de otra variable es $OtraVariableValor");
 if (isset($VariableValor))
     print ("VariableValor tiene valor asignado");
 else
     print ("VariableValor no no tiene valor asignado");
 if (isset($OtraVariableValor))
     print ("OtraVariableValor tiene valor asignado");
 else
     print ("OtraVariableValor no no tiene valor asignado");
  ?>
empty
bool empty ($varriable)
  • Determina si una variable no existe. Devuelve true si no existe o su valor está vacío


Icon activity.jpg
Actividad

Probamos las fuciones var_dump() que nos da información sobre el valor y el tipo



Icon activity.jpg
Actividad

Usando la función xxxyyy donde xxx e yyy será dec oct bin o hex para convertir el valor de un sistema numérico a otro



Icon activity.jpg
Actividad
  • Define las siguientes variables que se especifican en el código siguiente y verifica el resultado con empty()
 $num=0;
 $nombre="";
 $nombre=null;
 $nombre="0";
 $pregunta = FALSE;



gettype]
  • Devuelve el tipo de una variable
string gettype($variable)
[1]is-double is-int, is-xxx
  • son funciones donde xxx especificado en el último nombre, puede ser cualquiera de los tipos

Funciones is-xxx.png

  • Todas ellas devuelve un booleano que indica si la variable, valor o expresion es o no de ese tipo,
string is_int($variable);
string is_double($variable);
string is_bool($variable);
string is_integer($variable);
string is_null($variable);
string is_string($variable);
...


Icon activity.jpg
Actividad

Visualizar de qué tipo es la expresión mostrada en el código siguiente y visualiza el valor de la expresión


  $a=5;
unset
  • Destruye la variable especificada perdiéndose su valor

void unset ($var)