La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

TÉCNICO EN PROGRAMACIÓN DE SOFTWARE Instructor: Ingeniero Adrián Guerrero Taborda

Presentaciones similares


Presentación del tema: "TÉCNICO EN PROGRAMACIÓN DE SOFTWARE Instructor: Ingeniero Adrián Guerrero Taborda"— Transcripción de la presentación:

1 TÉCNICO EN PROGRAMACIÓN DE SOFTWARE Instructor: Ingeniero Adrián Guerrero Taborda E-mail: ing.adriangt@misena.edu.co

2 PHP Parte 2

3 Ciclos Los bucles nos permiten iterar conjuntos de instrucciones, es decir repetir la ejecución de un conjunto de instrucciones mientras se cumpla una condición. Sintaxis while: <?php while (condición){ instrucciones a ejecutar.} ?> Mientras la condición sea cierta se reiterará la ejecución de las instrucciones que están dentro del while.

4 Ejemplo while Ejemplo de PHP Inicio <?php $i=0; while ($i<10){ echo "El valor de i es ", $i," "; $i++; } ?> Final

5 For Sintaxis for: <?php for (inicial ; condición ; ejecutar en iteración){ instrucciones a ejecutar. } ?> La instrucción for es la instrucción de bucles más completa. En una sola instrucción nos permite controlar todo el funcionamiento del bucle. El primer parámetro del for, es ejecutado la primera vez y sirve para inicializar la variable del bucle, el segundo parámetro indica la condición que se debe cumplir para que el bucle siga ejecutándose y el tercer parámetro es una instrucción que se ejecuta al final de cada iteración y sirve para modificar el valor de la variable de iteración.

6 Ejemplo For Ejemplo de PHP Inicio <?php for($i=0 ; $i<10 ; $i++){ echo "El valor de i con for es ", $i," "; } ?> Final

7 Break y continue Dos instrucciones que aumentan el control sobre los ciclos. Sirven para pararlos o continuar con la siguiente iteración. De manera adicional al uso de las distintas estructuras de ciclo se pueden utilizar dos instrucciones para Detener la ejecución de un ciclo y salirse de él Detener la iteración actual y volver al principio del ciclo. Son las instrucciones break y continue.

8 Funcionalidad Break Se detiene un ciclo utilizando la palabra break. Detener un ciclo significa salirse de él y dejarlo todo como está para continuar con el flujo del programa inmediatamente después del ciclo. Continue Sirve para volver al principio del ciclo en cualquier momento, sin ejecutar las líneas que haya por debajo de la palabra continue.

9 Ejemplo break-continue <?php $x=0; while($x<300){ $x=$x+1; if($x==2) continue; echo "X vale $x "; if($x==4) break; } ?>

10 Opción de salida Hasta ahora hemos usado la instrucción echo para realizar salida a pantalla, esta instrucción es bastante limitada ya que no nos permite formatear la salida. En esta página veremos la instrucción printf que nos da mucha más potencia. Sentencia printf <?php printf(cadena formato, variable1, variable2...); ?>

11 Cadena de formato La cadena de formato puede incluir una serie de caracteres especiales que indican como formatear las variables que se incluyen en la instrucción. ElementoTipo de variable %sCadena de caracteres %dNúmero sin decimales %fNúmero con decimales %cCarácter ASCII

12 Ejemplo Formatos Ejemplo de PHP <?php $var="texto"; $num=3; printf("Puede fácilmente intercalar %s con números %d ",$var,$num); printf(" "); for ($i=0;$i<10;$i++){ printf(" %d ",$i); } printf(" "); ?>

13 Práctica Realizar un código PhP en una página que reciba los datos Número de filas y Número de columnas de un formulario que se encuentra en una página inicial, y generar una tabla con los números que le fueron enviados.

14 Arreglos y matrices Una matriz en PHP es en realidad un mapa ordenado. Un mapa es un tipo de datos que asocia valores con claves. Este tipo es optimizado en varias formas, de modo que puede usarlo como una matriz real, o una lista (vector), tabla asociativa, diccionario, colección, pila, cola y probablemente más. Ya que puede tener otra matriz PHP como valor, es realmente fácil simular árboles.

15 Sintaxis Especificación con array() Un array puede ser creado por la construcción de lenguaje array(). Ésta toma un cierto número de parejas clave => valor separadas con coma. array( [clave =>] valor,... ) // clave puede ser un integer o string // valor puede ser cualquier valor

16 Ejemplos de asignación "bar", 12 => true); echo $matriz["foo"]; // bar echo $matriz[12]; // 1 ?> array(6 => 5, 13 => 9, "a" => 42)); echo $matriz["unamatriz"][6]; // 5 echo $matriz["unamatriz"][13]; // 9 echo $matriz["unamatriz"]["a"]; // 42 ?>

17 Otra manera de asignar Si no especifica una clave para un valor dado, entonces es usado el máximo de los índices enteros, y la nueva clave será ese valor máximo + 1. Si especifica una clave que ya tiene un valor asignado, ése valor será sobrescrito. <?php // Esta matriz es la misma que... array(5 => 43, 32, 56, "b" => 12); //...esta matriz array(5 => 43, 6 => 32, 7 => 56, "b" => 12); ?>

18 Ejemplo arreglos <?php $pais=array ( "espana"=>array ( "nombre"=>"Espana", "lengua"=>"Castellano", "moneda"=>"Euro" ), "francia"=>array ( "nombre"=>"Francia", "lengua"=>"Frances", "moneda"=>"Euro" ) ); echo $pais["espana"]["moneda"];//Euro ?>

19 Array slice Disminuye el numero de casillas de un arreglo, sabiendo los índices de las casillas que deseamos conservar. Recibe tres parámetros, el nombre del arreglo, el índice del primer elemento y el número de elementos a tomar.

20 Ejemplo Array_slice() <?php $entrada=array("David","Andres","Jhonatan", "Marceliano", "Danny"); $salida=array_slice($entrada,0,3); foreach($salida as $actual) echo $actual." "; echo " "; $salida=array_slice($salida,1); foreach($salida as $actual) echo $actual," "; ?>

21 Array_shift Esta función extrae el primer elemento del arreglo y lo devuelve, además acorta la longitud del arreglo eliminando dicho elemento. Su único parámetro de operación es el nombre del arreglo al cual queremos extraerle su primer elemento.

22 Ejemplo Array_shift() <?php $entrada=array("David","Andres","Jhonatan","Marceliano", "Danny"); $salida=array_shift($entrada); echo "La funcion devuelve: ",$salida." "; foreach($entrada as $actual) echo $actual." "; echo " "; $salida=array_shift($entrada); echo "La funcion devuelve: ",$salida." "; foreach($entrada as $actual) echo $actual," "; ?>

23 Eliminar valores o matrices 1, 12 => 2); $matriz[] = 56; // Esto es igual que $matriz[13] = 56; // en este punto del script $matriz["x"] = 42;// Esto agrega un nuevo elemento a // la matriz con la clave "x" unset($matriz[5]);// Esto elimina el elemento de la //matriz unset($matriz); // Esto elimina la matriz completa ?>

24 Ejemplo Unset <?php $estadios_futbol=array("Barcelona"=>"Nou Camp","Real Madrid"=>"Santiago Bernabeu","Valencia"=>"Mestalla"); foreach($estadios_futbol as $indice=>$actual) echo $indice."--",$actual." "; echo " "; unset($estadios_futbol["Real Madrid"]); foreach($estadios_futbol as $indice=>$actual) echo $indice.“--",$actual." "; ?>

25 Array_push() Inserta al final del arreglo una serie de elementos que se le indican como parámetro dentro de los paréntesis. El número de elementos del arreglo aumentará en cuanto se le haya insertado como parámetro de la función.

26 Ejemplo Array_push() <?php //Definimos un arreglo de 3 elementos $tabla=array("perro","gato","ratón"); //Insertamos 3 elementos nuevos array_push($tabla,"perico","caballo","león"); //Mostramos todos los elementos en pantalla foreach($tabla as $actual) echo $actual." "; ?>

27 Array_merge Esta función nos permite unir dos ó más arreglos en uno solo, une la totalidad de elementos de uno y otro arreglos. Es decir si tenemos un primer arreglo de 5 elementos y un segundo arreglo de 3 elementos, el arreglo resultante tendrá 8 elementos.

28 Ejemplo Array_merge() <?php $tabla=array("perro","gato","ratón"); $tabla2=array("perico","caballo","león"); $tabla3=array("1","46","9"); //Unión de los 3 arreglos $resultado=array_merge($tabla,$tabla2,$tabla3); foreach($resultado as $actual) echo $actual." "; ?>

29 Practica Matrices Hacer un formulario donde pida al usuario seleccionar una de las 4 funciones aprendidas en clase, posteriormente se enviará dicha opción a otra página que mostrará un arreglo de 10 elementos previamente definidos por usted, al cual le aplicará la opción seleccionada.

30 Cadenas Una de las variables más utilizadas dentro de los scripts php son las cadenas, estas no son más que información de carácter no numérico (texto). Para asignar una variable a contenido de este tipo lo escribiremos entre comillas así: $cadena=“Esta es la información de la cadena”; Para verlo en pantalla ponemos simplemente: echo $cadena;

31 Variables dentro de cadenas Ejemplo: <?php $a=25; $cadena=“Tengo $a años”; echo $cadena; // Imprimirá Tengo 25 años ?> Pero que pasa si quiero imprimir en pantalla el símbolo de $, que no me indique una variable sino poner el símbolo para mostrar por ejemplo un valor $2000.

32 Caracteres especiales CaracterEfecto en la cadena \$Escribe el símbolo de dólar en la cadena $ \”Escribe comillas en la cadena \\Escribe Contrabarra en la cadena \8/2Escribe 8/2 en la cadena no 4(resultado de la operación) \tIntroduce una tabulación al texto \nCambia de línea \rRetorno de carro

33 Funciones Las funciones en PhP tienen una funcionalidad muy parecida a la mostrada en el tema de JavaScript, se pude definir con la siguiente sintaxis: <?php function foo($arg_1, $arg_2,..., $arg_n){ echo "Función de ejemplo.\n"; return $retval;} ?> Cualquier instrucción válida de PHP puede aparecer en el cuerpo de la función, incluso otras funciones y definiciones de clases.

34 Funciones condicionadas <?php $makefoo = true; /* No podemos llamar la función foo() desde acá por qué no existe todavía, pero si podemos llamar la función bar()*/ bar(); if ($makefoo) { function foo () { echo "No existo hasta que la ejecución del programa llegue acá.\n" ; } /* Ahora podemos llamar la función foo() después que la variable $makefoo es evaluada como verdadero*/ if ($makefoo) foo(); function bar() { echo "Existo desde que se inicia el programa.\n"; } ?>

35 Funciones dentro de Funciones <?php function foo(){ function bar(){ echo "No existo hasta que se llame la fución foo()\n"; } /* No podemos llamar la función bar() todavía porque no existe*/ foo(); /* Ahora podemos llamar la función bar(), el procesamiento de la función foo() lo posibilita*/ bar(); ?>

36 Pasar parámetros por referencia Por defecto, los parámetros de una función se pasan por valor (de manera que si cambias el valor del argumento dentro de la función, no se ve modificado fuera de ella). Si deseas permitir a una función modificar sus parámetros, debes pasarlos por referencia. Si quieres que un parámetro de una función siempre se pase por referencia, puedes anteponer un ampersand (&) al nombre del parámetro en la definición de la función:

37 Ejemplo parámetros por ref. <?php function add_some_extra(&$string){ $string.= ' y algo más.';} $str = 'Esto es una cadena, '; add_some_extra($str); echo $str; // Saca 'Esto es una cadena, y algo más.' ?>

38 Parámetros por defecto Una función puede definir valores por defecto para los parámetros escalares así: <?php function makecoffee ($type = "cappucino"){ return "Hacer una taza de $type.\n";} echo makecoffee (); echo makecoffee ("espresso"); ?> La salida del código anterior es: Hacer una taza de cappucino. Hacer una taza de espresso.

39 Uso incorrecto de parám. por def. Cabe destacar 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. En el siguiente ejemplo veremos en el argumento de la función que el parámetro por defecto está a la izquierda de otro parámetro simple, por lo que el código no se ejecutará de manera correcta:

40 Uso incorrecto Parám. Def. <?php function makeyogurt ($type = "acidophilus", $flavour) { return "Haciendo un bol de $type $flavour.\n"; } echo makeyogurt ("mora"); // No funciona de la manera esperada ?> Error en pantalla: Warning: Missing argument 2 in call to makeyogurt()

41 Uso correcto <?php function makeyogurt ($flavour, $type = "acidophilus") { return "Haciendo un bol de $type $flavour.\n"; } echo makeyogurt ("mora"); // funciona como seesperaba ?> La salida de este ejemplo es: Haciendo un bol de acidophilus mora.

42 Devolver valores de una función Los valores se retornan usando la instrucción opcional return. Puede devolverse cualquier tipo de valor, incluyendo listas y objetos. Ejemplo return: <?php function square ($num) { return $num * $num; } echo square (4); // saca '16'. ?>

43 Retornar múltiples valores No puedes devolver múltiples valores desde una función, pero un efecto similar se puede conseguir devolviendo una lista. Ejemplo Retornando matriz: <?php function small_numbers() { return array (0, 1, 2); } list ($zero, $one, $two) = small_numbers(); ?>

44 Función Variable PHP soporta el concepto de funciones variable, esto significa que si una variable tiene unos paréntesis añadidos al final, PHP buscará una función con el mismo nombre que la evaluación de la variable, e intentará ejecutarla. Entre otras cosas, esto te permite implementar retrollamadas (callbacks), tablas de funciones y demás.

45 Ejemplo Función Variable <?php function foo(){ echo "In foo() \n";} function bar($arg = ''){ echo "In bar(); argument was '$arg'. \n";} function echoit($string){ echo $string;} // Llamando a cada función como variable $func = 'foo'; $func(); // Llama a foo() $func = 'bar'; $func('test'); // Llama a bar() $func = 'echoit'; $func('test'); // Llama a echoit() ?>

46 Recursividad La recursividad es una técnica de programación importante. Se utiliza para realizar una llamada a una función desde la misma función, esto permite simplificar el código en muchas funciones lógicas, hay que tener en cuenta siempre un punto de parada pues si no, nuestro programa entrara en un ciclo infinito. Como ejemplo útil se puede presentar el cálculo de números factoriales. Él factorial de 0 es, por definición, 1. Los factoriales de números mayores se calculan mediante la multiplicación de 1 * 2 *..., incrementando el número de 1 en 1 hasta llegar al número para el que se está calculando el factorial.

47 Factorial Recursivo <?php function factorial($n){ if($n==0) { echo "paro cuando el numero vale $n "; return 1; } else { $valor = $n*factorial($n-1); echo "el valor devuelto por la llamada recursiva cuando n vale $n es: $valor "; return $valor; } $valor = factorial(7); echo "el factorial de 7 es $valor "; ?>

48 Ejemplo clave de funciones <?php function hacer_encabezado($titulo){ $encabezado=“ \n \n $titulo \n \n”; echo $encabezado;} //Esta función me haría el encabezado tradicional de una página html en php. Continúa………………….

49 Continuación ejemplo $titulo=“Mi página web”; Hacer_encabezado($titulo); ?> Cuerpo de la página

50 Guardar la función en una librería Para tener disponible este encabezado para todas nuestras aplicaciones debemos guardar la función dentro de una página php que llamaremos librería.php, posteriormente cuando esté realizando un trabajo simplemente utiliza la instrucción : Include(“librería.php”);,el código anterior quedaría así: <?php include(“librería.php”); $titulo=“Mi página web”; Hacer_encabezado($titulo); ?> Cuerpo de la página

51 Práctica Modifique el archivo librería.php, introduzca en él la función del factorial, luego haga una página con un formulario donde pida dos números al usuario, los cuales serán enviados a una nueva página que calculará su factorial haciendo uso de la función guardada en librería.php, además utilice el encabezado guardado ahí mismo para iniciar la página. Éxitos !!!


Descargar ppt "TÉCNICO EN PROGRAMACIÓN DE SOFTWARE Instructor: Ingeniero Adrián Guerrero Taborda"

Presentaciones similares


Anuncios Google