2. Contenido
Bloque I
Bases del desarrollo web
Fundamentos de PHP
Qué es PHP
Literales – Variables – Constantes
Operadores
Estructuras de control
Funciones
Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 2
3. Contenido
Bloque II
Formularios
Acceso a bases de datos MySQL
Sesiones y Cookies
Ficheros
Programación Orientada a Objetos en PHP
Yeray Caballero López - Juan Pablo Quesada Nieves 3
4. Contenido
Bloque I
Bases del desarrollo web
Fundamentos de PHP
Qué es PHP
Literales – Variables – Constantes
Operadores
Estructuras de control
Funciones
Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 4
5. Bases del desarrollo web
Arquitectura
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 5
6. Bases del desarrollo web
Cliente, 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 6
7. Bases del desarrollo web
Cookies 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 7
8. Bases del desarrollo web
Diálogo entre cliente y servidor
Yeray Caballero López - Juan Pablo Quesada Nieves 8
9. Bases del desarrollo web
Modelos de comunicación cliente - servidor
Modelo Síncrono
Modelo Asíncrono
(Ajax)
Yeray Caballero López - Juan Pablo Quesada Nieves 9
10. Contenido
Bloque I
Bases del desarrollo web
Fundamentos de PHP
Qué es PHP
Literales – Variables – Constantes
Operadores
Estructuras de control
Funciones
Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 10
11. Fundamentos de PHP
Qué es PHP
Lenguaje 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 11
12. Contenido
Bloque I
Bases del desarrollo web
Fundamentos de PHP
Qué es PHP
Literales – Variables – Constantes
Operadores
Estructuras de control
Funciones
Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 12
13. Fundamentos de PHP
Literales – Variables - Constantes
Literales
Dos 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 13
14. Fundamentos de PHP
Literales – Variables - Constantes
Variables
En 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 14
15. Fundamentos de PHP
Literales – Variables - Constantes
Variables. 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 15
16. Fundamentos de PHP
Literales – Variables - Constantes
Variables. Funciones relacionadas con los tipos
Yeray Caballero López - Juan Pablo Quesada Nieves 16
17. Fundamentos de PHP
Literales – Variables - Constantes
Variables. 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 17
18. Fundamentos de PHP
Literales – Variables - Constantes
Variables. Ámbito
Global entre scripts IMPORTANTE limitar el
Global a un script ámbito de las variables
Locales todo lo posible
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
Yeray Caballero López - Juan Pablo Quesada Nieves 18
19. Fundamentos de PHP
Literales – Variables - Constantes
Variables predefinidas en PHP
Yeray Caballero López - Juan Pablo Quesada Nieves 19
20. Contenido
Bloque I
Bases del desarrollo web
Fundamentos de PHP
Qué es PHP
Literales – Variables – Constantes
Operadores
Estructuras de control
Funciones
Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 20
23. Fundamentos de PHP
Operadores
Operadores de asignación
Operador de referencia (&)
Este operador permite obtener la referencia o dirección de memoria de una variable
$name1
Bob
$name2
Yeray Caballero López - Juan Pablo Quesada Nieves 23
24. Fundamentos de PHP
Operadores
Operadores 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 24
25. Contenido
Bloque I
Bases del desarrollo web
Fundamentos de PHP
Qué es PHP
Literales – Variables – Constantes
Operadores
Estructuras de control
Funciones
Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 25
26. Fundamentos de PHP
Estructuras de control
if … 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 26
27. Fundamentos de PHP
Estructuras de control
switch
switch ($variable) {
case Valor1: ...; break;
case Valor2: ...; break;
[default: ...; break;]
}
Yeray Caballero López - Juan Pablo Quesada Nieves 27
28. Fundamentos de PHP
Estructuras de control
while
while (condición) sentencia;
while (condición) { sentencia1; sentencia2; … sentencian; }
Operadores break y continue;
Yeray Caballero López - Juan Pablo Quesada Nieves 28
29. Fundamentos de PHP
Estructuras de control
do while
do { sentencias } while (condición);
Yeray Caballero López - Juan Pablo Quesada Nieves 29
30. Fundamentos de PHP
Estructuras de control
for
for (var = valor_inicial; condición; var++) sentencia;
for (var = valor_inicial; condición; var++) { sentencias }
Yeray Caballero López - Juan Pablo Quesada Nieves 30
31. Fundamentos de PHP
Estructuras de control
foreach
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 31
32. Contenido
Bloque I
Bases del desarrollo web
Fundamentos de PHP
Qué es PHP
Literales – Variables – Constantes
Operadores
Estructuras de control
Funciones
Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 32
33. Funciones
Funciones
function nombre_funcion(param1,…paramn) {
sentencias
[return valor;]
}
Yeray Caballero López - Juan Pablo Quesada Nieves 33
34. Funciones
Paso de parámetros
Todos 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 34
35. Funciones
Paso de parámetros por valor
Paso de parámetros por referencia
Yeray Caballero López - Juan Pablo Quesada Nieves 35
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 37
38. Funciones
include, require
Permiten 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 38
39. Contenido
Bloque I
Bases del desarrollo web
Fundamentos de PHP
Qué es PHP
Literales – Variables – Constantes
Operadores
Estructuras de control
Funciones
Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 39
40. Arrays
Conocidos como matrices o arrays en PHP
Muy 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
amigos[0] amigos[1] amigos[2] temp[‘Junio’] temp[‘Julio’] temp[‘Agosto’]
índice 0 1 2 índice Junio Julio Agosto
valor Ana Juan Pepe valor 28 29 30
Yeray Caballero López - Juan Pablo Quesada Nieves 40
41. Arrays
Creación e inicialización de arrays
Operador []
Array vacío!
¡ Débilmente tipado !
Yeray Caballero López - Juan Pablo Quesada Nieves 41
42. Arrays
Creación e inicialización de arrays
Constructor array
Array vacío!
¡ Débilmente tipado !
Yeray Caballero López - Juan Pablo Quesada Nieves 42
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 44
45. Arrays
Recorrido
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 }
Yeray Caballero López - Juan Pablo Quesada Nieves 45
47. Contenido
Bloque II
Formularios
Acceso a bases de datos MySQL
Sesiones y Cookies
Ficheros
Programación Orientada a Objetos en PHP
Yeray Caballero López - Juan Pablo Quesada Nieves 47
48. Formularios
Formularios HTML
<form action=“” method=“”>
…
</form>
action define el tipo de acción a llevar a cabo con el formulario. Existen dos
posibilidades:
– el formulario es enviado a una dirección de correo electrónico
– el formulario es enviado a un programa o script que procesa su contenido
method se encarga de especificar la forma en la que el formulario es enviado. Los
dos valores posibles que puede tomar esta atributo son post y get
Yeray Caballero López - Juan Pablo Quesada Nieves 48
49. Formularios
Elementos de formulario
<input name=“nombre” type=“text”>
<input name=“nombre” type=“password”>
<textarea name=“nombre” rows=n_filas cols=n_columnas></textarea>
<select name=“nombre”>
<option>opción1</option>
…
<option>opciónn</option>
</select>
<input name=“nombre” type=“radio” value=“valor”>Texto
<input name=“nombre” type=“checkbox”>Texto
Yeray Caballero López - Juan Pablo Quesada Nieves 49
50. Formularios
Envío y borrado en formularios HTML
<input type="submit" value="Enviar">
<input type=“reset" value=“Borrar">
Ejemplo de formulario:
<form action=“login.php” method=“post” name=“login”>
Usuario: <input name=“user” type=“text”>
Contraseña: <input name=“pass” type=“password”>
<input type=“submit” value=“Login”>
</form>
Yeray Caballero López - Juan Pablo Quesada Nieves 50
51. Formularios
Yeray Caballero López - Juan Pablo Quesada Nieves 51
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 52
53. Contenido
Bloque II
Formularios
Acceso a bases de datos MySQL
Sesiones y Cookies
Ficheros
Programación Orientada a Objetos en PHP
Yeray Caballero López - Juan Pablo Quesada Nieves 53
54. Acceso a bases de datos MySQL
MySQL 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 54
55. Acceso a bases de datos MySQL
Operaciones 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 55
56. Acceso a bases de datos MySQL
Sentencias 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]
[WHERE condicion];
DELETE (borrado de registros):
DELETE FROM tabla
[WHERE condicion];
Yeray Caballero López - Juan Pablo Quesada Nieves 56
57. Contenido
Bloque II
Formularios
Acceso a bases de datos MySQL
Sesiones y Cookies
Ficheros
Programación Orientada a Objetos en PHP
Yeray Caballero López - Juan Pablo Quesada Nieves 57