1 / 78

Introducción a PHP

Introducción a PHP. Introducción a PHP Instalación y configuración de Apache Instalación y configuración de PHP Recursos de PHP. Tema 1: Introducción. Breve historia de PHP PHP es el sucesor de un producto llamado PHP/FI Creado en 1994 por Rasmur Lerdorf.

kisha
Download Presentation

Introducción a PHP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introducción a PHP Profesor Rodrigo Cabello

  2. Introducción a PHP • Instalación y configuración de Apache • Instalación y configuración de PHP • Recursos de PHP Tema 1: Introducción Profesor Rodrigo Cabello

  3. Breve historia de PHP PHP es el sucesor de un producto llamado PHP/FI Creado en 1994 por Rasmur Lerdorf. Los primeros pasos del lenguaje era un simple conjunto de ficheros binarios (CGI) escritos en lenguaje C. En el año 1995 , Rasmus publico el código fuente de PHP, lo que permitió a los desarrolladores usarlo como considerasen apropiado. Introducción a PHP Profesor Rodrigo Cabello

  4. ¿Qué es PHP? PHP es lo que llamamos un lenguaje de programación del lado del servidor, esto significa que el código se interpreta en el servidor y no en el ordenador del usuario. El código PHP interpretado, produce un resultado que es enviado al navegador del visitante en forma de HTML, imagen, documento .doc... de ninguna manera el navegador del visitante accede al código fuente en PHP sino solo a su resultado en HTML. ¿Por qué PHP? Por sus ventajas: es potente, fácil de aprender, de libre distribución, permite el acceso a bases de datos Dispone de abundante soporte en la Web Introducción a PHP Profesor Rodrigo Cabello

  5. Funcionamiento de PHP • El funcionamiento de las páginas en PHP alojadas en un servidor es el siguiente: • -El navegador del cliente solicita el documento PHP. • -Llega la solicitud del servidor y el servidor localiza el documento, lanza el intérprete de PHP y ejecuta todo su codigo. • -Una vez ejecutado el código se genera el resultado en HTML y lo devuelve al servidor para que lo transfiera al cliente. • -El servidor transfiere el resultado en HTML y es mostrado en el navegador del cliente. Introducción a PHP Profesor Rodrigo Cabello

  6. El navegador pide un documento al servidor, en el caso que este documento sea un archivo PHP, el archivo es interpretado y se envía su resultado al navegador. Profesor Rodrigo Cabello

  7. Este código producirá el siguiente resultado que es lo que se enviará al navegador del visitante <html><head><title>Prueba</title></head><body>Holamundo</body></html> <html><head><title>Prueba</title></head><body><?$texto = "Holamundo";echo $texto;?></body></html> Profesor Rodrigo Cabello

  8. Requisitos • Servidor web Apache (www.apache.org) • con el módulo PHP (www.php.net) • y la base de datos MySQL (www.mysql.com) si se desea crear páginas dinámicas • Otras utilidades • Herramientas para la gestión de MySQL, como PHPMyAdmin (www.phpmyadmin.net) • Editores de PHP, como DevPHP (www.sourceforge.net) • Manuales de PHP y MySQL Introducción a PHP Profesor Rodrigo Cabello

  9. WAMP es el acrónimo usado para describir un sistema de infraestructura de internet que usa las siguientes herramientas: • Windowscomo sistema operativo • Apachecomo servidor web • MySQLcomo gestor de bases de datos • PHP • El uso de un WAMP permite servir páginas html a internet además de poder gestionar datos en ellas, al mismo tiempo un WAMP, proporciona lenguajes de programación para desarrollar aplicaciones web • LAMP es el sistema análogo que corre bajo ambiente Linux • WAMP es el sistema análogo que corre bajo ambiente Windows • MAMP es el sistema análogo que corre bajo ambiente Macintosh WAMP Profesor Rodrigo Cabello

  10. Dev-PHP es una herramienta muy útil para el desarrollo web con el cual podrá trabajar de mejor manera en PHP, es el complemento perfecto pues manejara y manipulará tu librería de clases, búsquedas, vistas de los scripts, integración con PHP parsers, manejo de la librería PHP-GTK, y depuración del código. Definitivamente Dev-PHP es una herramienta necesaria que te ayudará durante tus horas de programación. • Notepad++ es un editor de texto y de código fuente libre con soporte para varios lenguajes de programación. • Se parece al Bloc de notas en cuanto al hecho de que puede editar texto sin formato y de forma simple. No obstante, incluye opciones más avanzadas que pueden ser útiles para usuarios avanzados como desarrolladores y programadores. Profesor Rodrigo Cabello

  11. El módulo de PHP busca uno de los tags que emplea para reconocer el comienzo de código PHP. • Ejecuta el código hasta encontrar una marca de final de código • Continúa por el documento hasta encontrar otra marca de comienzo • Todo lo que esté fuera de esas marcas queda inalterado • <?echo 'delimitador muy común'; ?> • <?phpprint("delimitador más recomendable"); ?> Tema 2 Sintaxis básica de PHP Profesor Rodrigo Cabello

  12. El código PHP se puede insertar en cualquier lado del fichero, combinándose con el código HTML de cualquier manera. <?php if(date('a' == 'pm')) { $saludo = ‘Buenas tardes/noches!’; } else { $saludo = ‘Buenos días!'; } ?> <html> <head><title>Ejemplo</title></head> <body> <h1><?phpecho $saludo; ?></h1> </body></html> El final de la sentencia está marcada por un punto y coma Tema 2 Sintaxis básica de PHP Profesor Rodrigo Cabello

  13. Salida • echo, escribe la cadena que se le pasa como • argumento. • La cadena puede estar o no incluida entre paréntesis. • echo " Mensaje 1 "; echo (" Mensaje 2 "); • Sin paréntesis, admite varios argumentos. • echo "Este mensaje", 'aparecerá', "en el browser"; • print, similar a echo. • Sólo acepta un argumento. • print ('3.145159'); print (3.14159); • print(" El animal $a tiene $p patas\n"); • print(' El animal $a tiene $p patas\n'); Tema 2 Sintaxis básica de PHP Profesor Rodrigo Cabello

  14. Mayúsculas y minúsculas Comportamiento mixto en variables y funciones: En las variables, las mayúsculas y minúsculas IMPORTAN. $var = 3; $Var = 5.6; print("$var $Var"); En los nombres de funciones y palabras reservadas, NO IMPORTAN. if( $a == 4 ) PRINT ('a vale 4'); IF ( $a == 3 ) print("a vale 3"); Tema 2 Sintaxis básica de PHP Profesor Rodrigo Cabello

  15. Para que en futuras revisiones a tu código por tu parte y sobretodo por parte de otros programadores este código sea inteligible para la mente humana, es un buen costumbre comentar lo que se esta haciendo en PHP pero en palabras.De esta manera el código será mucho mas sencillo de comprender y a su vez de modificar, corregir, ampliar...Los comentarios que soporta PHP són los de C, C++ y los del shell de Unix, asi podemos usar // y /* */ para comentarios y comentarios multilinea respectivamente como haríamos en C Tema 3 Comentarios en PHP Profesor Rodrigo Cabello

  16. Ejemplo de formas de comentarios. <?echo 'Esto se ve';// esto no se veecho 'esto tambien se ve';/* esto tampocose ve */?> <?# esto no se veecho 'pero esto si';?> Tema 3 Comentarios en PHP Profesor Rodrigo Cabello

  17. Una variable es un nombre que contiene unos determinados datos, ya sean de texto o numéricos, y en php tienen la peculiaridad de ir precedidas por el signo del dolar ($).En PHP no es necesario declarar las variables antes de usarlas y pueden contener texto y números indiferentemente ( ya hablaremos de esto más adelante <?$miVariable = 'Hola ';$miVariable2 = 33;// Imprimimos Hola 33echo $miVariable.$miVariable2;?> Como vemos, asignamos valor a una variable con el operador de igualdad (=), y concatenamos con el operador punto (.). Para que una variable sea accesible desde cualquier parte de nuestro script php, la definiremos cómo global de la siguiente manera: <?global$miVariableGlobal= 'Hola';?> Tema 4 Variables Profesor Rodrigo Cabello

  18. Tipo de datos en PHP • integer: Enteros, en decimal, octal o hexadecimal. $MiVarDec = -923; $MiVarOct = 0127; $MiVarHex = 0xf1; print("v1: $MiVarDec v2: $MiVarOct v3: $MiVarHex"); • double: Reales. $MiVar = 1.3e4; $var1 = 2.28888; $var2 = 2.21112; $var3 = $var1 + $var2; print ("$var3"); • boolean: true o false (PHP 4.x) • array: vectores $MiVar[2] = 123; • string: Cadenas. $var1 = "Cadena\n"; $var2 = 'Mas cadenas'; • object: Objetos. $MiVar = new MiClase(); Tema 4 Variables Profesor Rodrigo Cabello

  19. Una constante es como una variable pero con la diferencia que una vez toma un valor este no puede variar durante la ejecución del script, otra particularidad de las constantes es que son globales, por lo que se pueden leer desde el interior de una función sin tener que pasarlas como parámetro.Al contrario que las variables, las constantes se expresan sin signo del dólar ($), y se tienen que definir usando la función define: <?define ('miConstante','valor de mi constante');echomiConstante;?> Tema 5 Constantes Profesor Rodrigo Cabello

  20. Los vectores o arrayson listas ordenadas de elementos. Para definir un vector en PHP utilizamos la función array: <?php$vector = array ( "elemento 1", "elemento 2" );?> Una vez definido el vector, podemos acceder a sus elementos, sus elementos estarán identificados por un número ( empezando por 0 ) o una clave que se puede definir así: <?php$vector = array ( "clave 1" => "elemento 1", "clave 2" => "elemento 2" );?> Para acceder a un elemento usaremos [ y ] con su clave ( "clave 1" o 0 ): <?phpecho $vector[0];// elemento 1echo $vector['clave 1'];// elemento 1?> Tema 6 Vectores Profesor Rodrigo Cabello

  21. Podemos borrar un elemento de una variable con la función unset <?php// Borramos el 'clave 3';unset ( $vector['clave 3'] );print_r ($vector);/ ?> Tema 6 Vectores Profesor Rodrigo Cabello

  22. PHP es un lenguaje de los denominados de tipo dinámico, lo que significa que una misma variable puede tener tipos ( numero, texto, vector... ) diferentes en distintos momentos. Por esta razón, no soporta la definición de tipos en la declaración de variables sino que el tipo de la variable viene determinado por el contexto en el que se encuentra, veamos un ejemplo: <?php// La variable $var1 es un numero ( entero )$var1 = 3;// La variable $var2 es un texto ( cadena de caracteres )$var2 = "9 años";// Si juntamos las variables $var1 y $var2, obtenemos un texto $var3 = $var1 . $var2; // "39 años"// Si en cambio las sumamos obtendremos un número$var3 = $var1 + $var2; // PHP suma 3 + 9 y nos da como resultado solo el 12?> Tema 7 Tipos de datos Profesor Rodrigo Cabello

  23. La existencia de un carácter especial \$ para el dólar, es porque en el interior de comillas dobles podemos usar variables. Si vamos a acceder a elementos de un vector, lo agruparemos con { y } detrás del $: <?php // Así si$var1 = "php";$var2 = Array ( "php","html" ); // [0]=>php, [1]=>html$var3 = "aprendo $var1"; // aprendo php$var3 = "aprendo {$var2[0]}"; // aprendo php Tema 7 Tipos de datos Profesor Rodrigo Cabello

  24. Los operadores son expresiones que nos permiten manipular los datos que les pasamos, cada uno de los datos que se le pasa a un operador se llama operando, y según el número de operandos de que disponga un operador estaremos hablando de un operador unario (un operando), binario (dos operandos), ternario...Los operadores no los utilizamos aisladamente, sino que solemos utilizar mas de uno en una misma expresión compleja, en este caso tendremos que tener en cuenta las normas de preferencia para no encontrarnos con resultados no deseados Tema 7 Operadores Profesor Rodrigo Cabello

  25. Para cambiar el orden en que se realizan las operaciones utilizaremos los paréntesis (), consiguiendo que se realicen primero las operaciones del interior del paréntesis y, acto seguido, el resto de operaciones siguiendo en cada caso el mismo orden de preferencia anteriormente citado: <?php// el operador de multiplicación es l signo asterisco ( * )$a = 2 + 4 * 2; // El resultado es 10$a = (2+4) * 2; // el resultado es 12?> Tema 7 Operadores Profesor Rodrigo Cabello

  26. Los operadores de aritmética son los operadores básicos para el trabajo con números, nos permiten sumar dos valores, restarlos, dividirlos... Se trata de operadores binarios en todos los casos ya que requieren dos operandos para funcionar correctamente.Los operadores aritméticos existentes son los siguientes: Adición(+) - Devuelve la suma de los dos operandos que recibe el operador. <?$a = 1 + 2; // $a toma valor 3?> Tema 7 Operadores de aritmética Profesor Rodrigo Cabello

  27. Substracción (-) - Devuelve la diferencia entre el primer y el segundo operando.Multiplicación (*) - Devuelve el producto de los operandos.División (/) - Devuelve el cociente en valor flotante de los operandos.Módulo (%) - Devuelve el resto de dividir el primer operando entre el segundo. Este operador es muy útil para saber si un número es múltiple de otro Tema 7 Operadores de aritmética Profesor Rodrigo Cabello

  28. Los operadores de asignación, son aquellos que nos permiten modificar el valor de una variable, el operador de asignación básico es el 'es igual a' (=), que da el valor que lo sigue a la variable que lo precede: <?$miVariable = 'suValor';?> Tema 7 Operadores de asignacion Profesor Rodrigo Cabello

  29. Los operadores de comparación son operadores en su mayoría binarios que nos permiten comparar variables devolviendo un valor booleano a 1 (TRUE) si se cumple la condición que expresan y a 0 (FALSE) en el caso contrario.Los operadores binarios de comparación son: Igual (==) - Devuelve 1 si los operando son iguales aunque sean de tipo distinto.Diferente (!= o <>) - Devuelve 1 si los operando son distintos.Menor que (<) - Devuelve 1 si el primer operando es mas pequeño que el segundo.Mayor que (>) - Devuelve 1 si el primer operando es mas grande que el segundo.Menor o igual que (<=) - Devuelve 1 si el primer operando es mas pequeño o igual que el segundo.Mayor o igual que (>=) - Devuelve 1 si el primer operando es mas grande o igual que el segundo. Estos operadores se usan mayormente como condición para las estructuras de control Tema 7 Operadores de comparacion Profesor Rodrigo Cabello

  30. Para evitar que se muestre en página un determinado error que se puede producir eventualmente en una linea PHP dispone del operador de control de errores.Este operador que se representa con el signo arroba (@), permite evitar que se imprima en la página de resultado un error producido por la ejecución del código PHP en una línea determinada: <?phpecho 'Hola mundo';@ funcionquenoexiste (); // Esto debería producir un error?> Tema 7 Operadores de control de errores Profesor Rodrigo Cabello

  31. Los operadores de incremento (++) permiten aumentar en una unidad el valor de una variable numérica, los de decremento (--) por lo contrario disminuyen la misma variable en una unidad.Estos operadores son operadores unarios por lo que solo reciben un operando al que incrementan o decrementan según el operador.Estos operadores pueden ponerse delante del operando, en ese caso la operación devolverá el valor una vez operado, o después, caso en el que la operación devolverá el valor antes de operar: <?$variable = 2;echo $variable++; // Imprime 2 y luego incrementaecho ++$variable; // incrementa y luego imprime 4?> Tema 7 Operadores de incremento Profesor Rodrigo Cabello

  32. Los operadores de Lógica nos permiten crear expresiones mas complejas para evaluar nuestras estructuras de control, permitiendonos enlazar varias operaciones de comparación con los diferentes operadores booleanos.Estos operadores son mayoritariamente binarios, por lo que reciben 2 operando, dependiendo de estos operando (de valor 0 o 1) devolverá 0 (FALSE) o 1 (TRUE), los operadores lógicos binarios son: Y (&& o and) - Devuelve 1 si ambos operando son 1O (|| o or) - Devuelve 1 si algún operando es 1 <?echo ((1 == 1)&&(2 != 2)); // Devuelve 0?> Tema 7 Operadores de logica Profesor Rodrigo Cabello

  33. En esta categoría encontramos el operador binario de concatenación (.), que se encarga de unir dos cadenas dadas la una a continuación de la otra: <?$texto = 'hola ' . 'mundo';echo $texto;?> A su vez, existe un operador que hemos incluido entre los operadores de asignación, que es el operador de asignación sobre concatenación (.=), este operador concatena a una variable un valor dado de la siguiente manera: <?$texto = 'hola ';$texto .= 'mundo';echo $texto;?> Tema 7 Operadores de cadena Profesor Rodrigo Cabello

  34. Este operador nos será de gran utilidad para almacenar una gran cantidad de datos en una misma variable de manera limpia, veamos un ejemplo: <?$html = "<html>\n";$html .= "<head>\n";$html .= "<title>Mi página</title>\n";$html .= "</head>\n";$html .= "<body>\n";$html .= "Este es el contenido de mi\n";$html .= "preciosa página\n";$html .= "</body>\n";$html .= "</html>\n";echo $html;?> Tema 7 Operadores de cadena Profesor Rodrigo Cabello

  35. Porque los scripts PHP no son lineales, debemos poder controlar la ejecución de una acción o de un determinado bloque de acciones, para hacer esto, PHP dispone de lo que se llama estructuras de control, que nos permiten ejecutar o no, una o mas veces un determinado bloque de acciones.Estas estructuras son: ifwhileforswitch Tema 8 Estructuras de control Profesor Rodrigo Cabello

  36. La estructura if nos permite ejecutar un bloque de acciones si se cumple una determinada condición, de lo contrario nos permite ejecutar otro bloque de acciones identificado por la sentencia else, si el resultado de la condición es distinto de 0, se ejecutarán las acciones del if, de lo contrario las del else: <?if($var1 == 12){echo 'La variable vale 12';}else {echo 'La variable tiene otro valor';}?> Tema 8 Estructuras de controlCondicional if Profesor Rodrigo Cabello

  37. La condición, se escribe entre paréntesis a continuación de la palabra if, y esta formada por operaciones PHP, sobre todo por operaciones lógicas y de comparación.Hay otra sentencia que usamos a menudo para unir más de un condicional if, es la sentencia elseif, ésta nos permite dar otra condición por si no se ha cumplido la primera, después de elseif podemos volver a usar else con normalidad: <?if($var1 == 12){echo 'La variable vale 12';}elseif($var1 == 3){echo 'La variable vale 3';}else {echo 'La variable tiene otro valor';}?> Tema 8 Estructuras de controlCondicional if Profesor Rodrigo Cabello

  38. Esta instrucción nos permite efectuar un bloque de acciones mientras se cumpla una determinada condición, cuando deje de cumplirse, se continuará ejecutando el resto del código PHP, la condición se cumple mientras no de resultado 0 y esta formada por operaciones PHP, sobretodo por operaciones lógicas y de comparación. <?$var1 = 0;while($var1 < 10){echo "\$var1 = $var1<br>";$var1++; // Incrementamos la variable}?> Tema 8 Estructuras de controlBucle while Profesor Rodrigo Cabello

  39. El bucle for nos permite ejecutar un determinado bloque de acciones un número determinado de veces, a esta estructura le pasaremos tres parámetros que separaremos por punto y coma (;) y que serán: accióninicial - Inicializa la variable de control del buclecondición- Se evalúa en cada iteración, cuando devuelve 0 o FALSE se continua ejecutando el código de después del foracción- Se ejecuta en cada bucle y debe modificar la variable de la condición <?for ($var1 = 0; $var1 < 10; $var1++){echo "\$var1 = $var1";}?> Tema 8 Estructuras de controlBucle For Profesor Rodrigo Cabello

  40. En muchas ocasiones, programando en PHP, nos encontramos que queremos hacer una u otra acción dependiendo del valor de una variable, en este caso, podríamos usar una sucesión de condicionales if, pero el código resultante será confuso y difícil de modificar en el futuro.Pero PHP y en general todos los lenguajes de programación de un nivel mas o menos alto, dispone de un ciclo que nos irá como anillo al dedo en este caso, el ciclo switch que nos realizará un bloque de acciones para cada valor de una variable dada. Tema 8 Estructuras de controlCiclo Switch Profesor Rodrigo Cabello

  41. <?switch ($i) {case 0:echo "Variable en valor bajo";break;case 1:echo "Variable en valor alto";break;default:echo "La variable no es binária";}?> Tema 8 Estructuras de controlCiclo Switch Profesor Rodrigo Cabello

  42. Una función es un conjunto de instrucciones que a lo largo del programa van a ser ejecutadas multitud de veces. Es por ello, que este conjunto de instrucciones se agrupan en una función. • Sintaxis general para declarar una función: function nombre (parámetro1, parámetro2, …, parámetroN) { instrucción1 instrucción2 . instrucciónN } Tema 9 Funciones Profesor Rodrigo Cabello

  43. Las funciones pueden ser llamadas y ejecutadas desde cualquier punto del programa. Además, una función puede recibir parámetros externos de los cuales dependa el resultado de dicha función. Es decir, según el parámetro o parámetros con los que se invoque a la función, ésta devolverá un resultado u otro. Tema 9 Funciones Profesor Rodrigo Cabello

  44. Para llamar (hacer que se ejecute) la función usaremos esta sintaxis: nombre(parámetros); <?php//Ejemplo funciones functionmostrarTexto($texto) { echo"<strong>El texto es : </strong>"; echo$texto; } mostrarTexto("Esto lo realiza la función"); ?> Tema 9 Funciones Profesor Rodrigo Cabello

  45. También podemos crear funciones que devuelvan datos <?php// Ejemplo funciones functionoperaciones($n1, $n2, $operacion) { $resultado = 0; if($operacion =="Sumar") { $resultado = $n1 + $n2; }elseif($operacion == "Restar") { $resultado = $n1 - $n2; }elseif($operacion =="Multiplicar") { $resultado = $n1 * $n2; } return$resultado; // Devolver el resultado } // Llamar a la función operaciones $r = operaciones(5, 7, "Sumar"); echo $r . "<br>"; // O podemos imprimir directamente echo operaciones(15, 8, "Restar"); ?> Tema 9 Funciones Profesor Rodrigo Cabello

  46. Función sin parámetros <?php//Ejemplo funciones functionmostrarTextoError { echo "<strong>Se ha producido un error </strong>"; // Aquí pueden venir varias líneas de instrucciones } ?> Tema 9 Funciones Profesor Rodrigo Cabello

  47. Librerías: archivos en los que se guardan las funciones. La forma de incluirlos en nuestro script es a partir de la instrucción require o include: require("libreria.php") o include("libreria.php") <?include("libreria.php");$titulo="Mi Web";hacer_encabezado($titulo);?><body>El cuerpo de la página</body></html> Tema 9 Funciones Profesor Rodrigo Cabello

  48. Desde PHP se puede acceder fácilmente a los datos introducidos desde un formulario HTML • Fichero uno.php <HTML> <BODY> <FORM ACTION=”dos.php” METHOD=”POST”> Edad: <INPUT TYPE=”text” NAME=”edad”> <INPUT TYPE=”submit” VALUE=”aceptar”> </FORM> </BODY> </HTML> • Fichero dos.php <HTML> <BODY> <?PHP $edad = $_POST[” edad ”]; echo(“La edad es: $edad”); ?> </BODY> </HTML> Tema 10 Formularios Profesor Rodrigo Cabello

  49. Tema 10 Formularios Profesor Rodrigo Cabello

  50. Acceso a los diferentes tipos de elementos de entrada de formulario Elementos de tipo INPUT • TEXT • RADIO • CHECKBOX • BUTTON • FILE • HIDDEN • PASSWORD • SUBMIT • Elemento SELECT • Simple / múltiple • Elemento TEXTAREA Tema 10 Formularios Profesor Rodrigo Cabello

More Related