1 Yeray Caballero López Juan Pablo Quesada NievesPHP y MySQL Yeray Caballero López Juan Pablo Quesada Nieves
2 Contenido Bloque I Bases del desarrollo web Fundamentos de PHPQué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays Yeray Caballero López - Juan Pablo Quesada Nieves
3 Contenido Bloque II Formularios Acceso a bases de datos MySQLSesiones y Cookies Ficheros Programación Orientada a Objetos en PHP Yeray Caballero López - Juan Pablo Quesada Nieves
4 Contenido Bloque I Bases del desarrollo web Fundamentos de PHPQué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays Yeray Caballero López - Juan Pablo Quesada Nieves
5 Bases del desarrollo webArquitectura Cliente - Servidor Cliente: Explorer, FireFox, Safari Servidor: Apache, IIS Tecnología Cliente: CSS, Flash, HTML, JavaScript Servidor: C#, Java, PHP, Phyton Yeray Caballero López - Juan Pablo Quesada Nieves
6 Bases del desarrollo webCliente, navegador como Internet Explorer, Firefox, Opera, Safari, ... Los navegadores interactúan con el servidor a través de protocolos. Estos protocolos definen las reglas de intercambio de información entre el cliente y el servidor Servidor, software responsable de aceptar las solicitudes HTTP del cliente y de enviarle las respuestas (HTML, XML) HTTP, protocolo de transferencia de hipertexto. HTTP es un protocolo sin estado, es decir, que no guarda ninguna información sobre conexiones anteriores. ¿Cómo sabe el servidor si la solicitud la hago yo o la hace otra persona? … (Cookies, Sesiones) Yeray Caballero López - Juan Pablo Quesada Nieves
7 Bases del desarrollo webCookies y sesiones El protocolo HTTP es incapaz por sí solo de mantener el estado entre dos transacciones. El objetivo de las cookies y las sesiones en el servidor es precisamente identificar las solicitudes de un usuario y distinguirlas del resto Yeray Caballero López - Juan Pablo Quesada Nieves
8 Bases del desarrollo webDiálogo entre cliente y servidor Yeray Caballero López - Juan Pablo Quesada Nieves
9 Bases del desarrollo webModelos de comunicación cliente - servidor Modelo Síncrono Modelo Asíncrono (Ajax) Yeray Caballero López - Juan Pablo Quesada Nieves
10 Contenido Bloque I Bases del desarrollo web Fundamentos de PHPQué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays Yeray Caballero López - Juan Pablo Quesada Nieves
11 Fundamentos de PHP Qué es PHPLenguaje script, interpretado y de tipado débil Fue escrito por el danés Rasmus Lerdorf en 1994 Es un lenguaje del lado del servidor Originalmente diseñado para producir webs Yeray Caballero López - Juan Pablo Quesada Nieves
12 Contenido Bloque I Bases del desarrollo web Fundamentos de PHPQué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays Yeray Caballero López - Juan Pablo Quesada Nieves
13 Fundamentos de PHP Literales – Variables - ConstantesDos formas de definir los literales : comillas simples y comillas dobles Las comillas dobles evalúan variables y expresiones dentro del literal; las comillas simples no Constantes Yeray Caballero López - Juan Pablo Quesada Nieves
14 Fundamentos de PHP Literales – Variables - ConstantesEn PHP no es necesario declarar las variables Las variables se crean al asignarles un valor Todas las variables en PHP empiezan por '$' ($productsList, $title, $connection) Es case-sensitive ($quantity es distinto a $Quantity) Yeray Caballero López - Juan Pablo Quesada Nieves
15 Fundamentos de PHP Literales – Variables - ConstantesVariables. Tipos de datos integer, double, string, boolean, array, object PHP es un lenguaje de tipado débil El tipo de una variable vendrá determinado por el valor que se le asigne $state = 0; // integer $state = “Successful”; // string Conversión de tipos explícita $total_amount = (double) $quantity Ejemplos de variables de distintos tipos : $variable_integer = 3; $variable_double = 4.5; $variable_boolean = true; // (true, false) $array[0] = ‘value’; $array[1] = 23; $person = new Person(‘Raul’, ‘López’); PHP evalúa cualquier valor distinto de cero como true y cero como falso Yeray Caballero López - Juan Pablo Quesada Nieves
16 Fundamentos de PHP Literales – Variables - ConstantesVariables. Funciones relacionadas con los tipos Yeray Caballero López - Juan Pablo Quesada Nieves
17 Fundamentos de PHP Literales – Variables - ConstantesVariables. Otras funciones Las siguientes son funciones útiles, sobre todo, para comprobar si se enviaron las variables de formulario Yeray Caballero López - Juan Pablo Quesada Nieves
18 Fundamentos de PHP Literales – Variables - ConstantesVariables. Ámbito Global entre scripts Global a un script Locales PHP 5 incluye variables estáticas Una variable estática existe en el ámbito de un bloque, pero no pierde su valor cuando la ejecución del programa sale de ese ámbito IMPORTANTE limitar el ámbito de las variables todo lo posible Yeray Caballero López - Juan Pablo Quesada Nieves
19 Fundamentos de PHP Literales – Variables - ConstantesVariables predefinidas en PHP Yeray Caballero López - Juan Pablo Quesada Nieves
20 Contenido Bloque I Bases del desarrollo web Fundamentos de PHPQué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays Yeray Caballero López - Juan Pablo Quesada Nieves
21 Fundamentos de PHP OperadoresOperadores aritméticos Operadores de cadenas – Concatenación Yeray Caballero López - Juan Pablo Quesada Nieves
22 Fundamentos de PHP OperadoresOperadores de comparación Operadores lógicos Yeray Caballero López - Juan Pablo Quesada Nieves
23 Fundamentos de PHP OperadoresOperadores de asignación Operador de referencia (&) Este operador permite obtener la referencia o dirección de memoria de una variable $name1 $name2 Bob Yeray Caballero López - Juan Pablo Quesada Nieves
24 Fundamentos de PHP OperadoresOperadores de supresión de errores Este operador suprimirá el error de manera que no se muestre por pantalla El mensaje de error se almacenará en la variable global $php_errormsg Yeray Caballero López - Juan Pablo Quesada Nieves
25 Contenido Bloque I Bases del desarrollo web Fundamentos de PHPQué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays Yeray Caballero López - Juan Pablo Quesada Nieves
26 Fundamentos de PHP Estructuras de controlif … else …, if … elseif … else if (condición) { sentencias } if (condición) { sentencias } else { sentencias } if (condición) { sentencias } elseif (condición) { sentencias } … Las llaves son necesarias cuando hay más de una sentencia Yeray Caballero López - Juan Pablo Quesada Nieves
27 Fundamentos de PHP Estructuras de controlswitch switch ($variable) { case Valor1: ...; break; case Valor2: ...; break; [default: ; break;] } Yeray Caballero López - Juan Pablo Quesada Nieves
28 Fundamentos de PHP Estructuras de controlwhile while (condición) sentencia; while (condición) { sentencia1; sentencia2; … sentencian; } Operadores break y continue; Yeray Caballero López - Juan Pablo Quesada Nieves
29 Fundamentos de PHP Estructuras de controldo while do { sentencias } while (condición); Yeray Caballero López - Juan Pablo Quesada Nieves
30 Fundamentos de PHP Estructuras de controlfor for (var = valor_inicial; condición; var++) sentencia; for (var = valor_inicial; condición; var++) { sentencias } Yeray Caballero López - Juan Pablo Quesada Nieves
31 Fundamentos de PHP Estructuras de controlforeach foreach(variable_array as $value) sentencia; foreach(variable_array as $value) { sentencias } foreach(variable_array as $key => $value) sentencia; foreach(variable_array as $key => $value) { sentencias } El bucle itera sobre la lista devolviendo un elemento de la lista en cada iteración Yeray Caballero López - Juan Pablo Quesada Nieves
32 Contenido Bloque I Bases del desarrollo web Fundamentos de PHPQué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays Yeray Caballero López - Juan Pablo Quesada Nieves
33 Funciones Funciones function nombre_funcion(param1,…paramn) {sentencias [return valor;] } Yeray Caballero López - Juan Pablo Quesada Nieves
34 Funciones Paso de parámetrosTodos los parámetros son por valor si no se especifica lo contrario Para pasar una variable por referencia se antepone & Se permiten parámetros por defecto (el parámetro por defecto tiene que estar a la derecha de cualquier parámetro sin valor) PHP permite un número ilimitado de parámetros (ninguna sintaxis especial) func_num_args(): devuelve el nº de args pasados a la función func_get_arg(int num_arg): devuelve un arg de la lista func_get_args(): devuelve un array copia de la lista de args Yeray Caballero López - Juan Pablo Quesada Nieves
35 Funciones Paso de parámetros por valorPaso de parámetros por referencia Yeray Caballero López - Juan Pablo Quesada Nieves
36 Funciones Parámetros ilimitados Parámetros por defectoYeray Caballero López - Juan Pablo Quesada Nieves
37 Funciones return La palabra reservada return permite devolver valores de las funciones Si lo que se quiere es devolver una referencia se tiene que usar & tanto en la declaración de la función como en la asignación del valor de retorno a una variable function & returns_reference() { return $someref; } $newref = & returns_reference(); Yeray Caballero López - Juan Pablo Quesada Nieves
38 Funciones include, requirePermiten cargar funciones y variables declaradas en otros scripts (reutilización) Similares a #include de C Se pueden incluir en cualquier parte del script Ambas tiene la misma funcionalidad, con pequeñas diferencias: include, si no puede cargar el fichero, no provocará ningún error include ("archivo") ?> require, si no puede cargar el fichero, provocará un error fatal require("archivo") ?> Yeray Caballero López - Juan Pablo Quesada Nieves
39 Contenido Bloque I Bases del desarrollo web Fundamentos de PHPQué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays Yeray Caballero López - Juan Pablo Quesada Nieves
40 Arrays Conocidos como matrices o arrays en PHPMuy utilizados (estructuras de datos, opciones de configuración, idiomas) En PHP existen dos tipos de arrays: arrays escalares, cuyo índice es un entero arrays asociacitos, cuyo índice es una string Array escalar Array asociativo 2 1 Ana Juan Pepe índice valor amigos[0] amigos[1] amigos[2] Junio Agosto Julio 28 29 30 índice valor temp[‘Junio’] temp[‘Julio’] temp[‘Agosto’] Yeray Caballero López - Juan Pablo Quesada Nieves
41 Arrays Creación e inicialización de arrays Operador [] Array vacío!¡ Débilmente tipado ! Yeray Caballero López - Juan Pablo Quesada Nieves
42 Arrays Creación e inicialización de arrays Constructor arrayArray vacío! ¡ Débilmente tipado ! Yeray Caballero López - Juan Pablo Quesada Nieves
43 Arrays Arrays multidimensionalesYeray Caballero López - Juan Pablo Quesada Nieves
44 Arrays Recorrido for (var = valor_inicial; condición; var++) sentencia; for (var = valor_inicial; condición; var++) { sentencias } count(variable_array): devuelve el número de elementos del array Yeray Caballero López - Juan Pablo Quesada Nieves
45 Arrays Recorrido foreach(variable_array as $value) { sentencias }foreach(variable_array as $key => $value) sentencia; foreach(variable_array as $key => $value) { sentencias } Yeray Caballero López - Juan Pablo Quesada Nieves
46 Arrays Funciones relacionadas con los arraysYeray Caballero López - Juan Pablo Quesada Nieves
47 Contenido Bloque II Formularios Acceso a bases de datos MySQLSesiones y Cookies Ficheros Programación Orientada a Objetos en PHP Yeray Caballero López - Juan Pablo Quesada Nieves
48 Formularios Formularios HTML
Yeray Caballero López - Juan Pablo Quesada Nieves51 Formularios Yeray Caballero López - Juan Pablo Quesada Nieves
52 Formularios Recepción de las variables de formulario $_GET[‘variable’]$_POST[‘variable’] Estos arrays asociativos contienen las variables transferidas de una página a otra a través de un formulario. Dependiendo del método utilizado (get o post) en el formulario, las variables estarán en uno u otro Yeray Caballero López - Juan Pablo Quesada Nieves
53 Contenido Bloque II Formularios Acceso a bases de datos MySQLSesiones y Cookies Ficheros Programación Orientada a Objetos en PHP Yeray Caballero López - Juan Pablo Quesada Nieves
54 Acceso a bases de datos MySQLMySQL y phpMyAdmin MySQL es un sistema gestor de bases de datos relacionales multiusuario phpMyAdmin es una herramienta para la administración de MySQL Yeray Caballero López - Juan Pablo Quesada Nieves
55 Acceso a bases de datos MySQLOperaciones con MySQL Conexión con MySQL: $conexion = mysql_connect(“host”,”usuario”,”password”); Selección de base de datos en MySQL: mysql_select_db(“nombre_de_base_de_datos”, $conexion); Trabajo con tablas: $consulta = mysql_query(“sentencia_sql”, $conexion); $registro = mysql_fetch_array($consulta); //mysql_fetch_array() devuelve un //array asociativo Cierre de la conexión con MySQL: mysql_close($conexion); Yeray Caballero López - Juan Pablo Quesada Nieves
56 Acceso a bases de datos MySQLSentencias básicas SQL SELECT (consultas a la base de datos): SELECT * | campo[,campo] FROM tabla[,tabla] [WHERE condicion]; INSERT (inserción de registros): INSERT INTO tabla [(campo[,campo])] VALUES (valor[,valor]); UPDATE (actualización de registros): UPDATE tabla SET campo=nuevo_valor_campo [campo=nuevo_valor_campo] DELETE (borrado de registros): DELETE FROM tabla Yeray Caballero López - Juan Pablo Quesada Nieves
57 Contenido Bloque II Formularios Acceso a bases de datos MySQLSesiones y Cookies Ficheros Programación Orientada a Objetos en PHP Yeray Caballero López - Juan Pablo Quesada Nieves