Desarrollo web en entorno servidor

Desarrollo web en entorno servidor

Este libro explica de forma clara, didáctica y muy práctica cómo desarrollar aplicaciones web. Contiene multitud de ejemplos para descargar y poder practicar, además de actividades y ejercicios para afianzar todo lo aprendido. Se pone especial énfasis en el desarrollo de aplicaciones completas. A lo largo del libro, se desarrollan tres aplicaciones que incorporan los contenidos de los capítulos anteriores. Primero utilizando solo PHP, luego incorporando AJAX y finalmente con Symfony. 

El libro, concebido especialmente como manual para el módulo Desarrollo web en entorno servidor, puede ser útil también para cualquier persona interesada en aprender PHP o Symfony.

PRESENTACIÓN .................................................................................................................. 11

1. INTRODUCCIÓN AL DESARROLLO DE APLICACIONES WEB ..................................... 13

Objetivos ................................................................................................................................ 13

Mapa conceptual ................................................................................................................... 14

Glosario .................................................................................................................................. 14

1.1. Modelos de programación en entornos cliente-servidor .......................................... 15

1.2. Generación dinámica de páginas web ........................................................................... 16

1.2.1. Lenguajes de programación en entornos servidor ..................................................... 17

1.2.2. Integración con los lenguajes de marcas ................................................................. 17

1.2.3. Servidores de aplicaciones ......................................................................................... 18

1.3. Instalación del entorno de trabajo .................................................................................. 18

1.3.1. Servidores web y de base de datos ............................................................................ 19

1.3.2. Ejemplos y bases de datos .......................................................................................... 20

1.3.3. Entorno de desarrollo ................................................................................................... 20

Resumen ................................................................................................................................ 21

Ejercicios propuestos.............................................................................................................. 21

Actividades de autoevaluación .............................................................................................. 22

2. INTRODUCCIÓN AL LENGUAJE PHP ............................................................................. 25

Objetivos ................................................................................................................................ 25

Mapa conceptual ................................................................................................................... 26

Glosario ................................................................................................................................ 26

2.1. PHP y HTML. Código incrustado ................................................................................... 26

2.2. Sintaxis de PHP ............................................................................................................ 28

2.3. Variables y tipos de dato ............................................................................................... 28

2.3.1. Declaración de variables ............................................................................................ 28

2.3.2. Asignación por copia y por referencia ........................................................................ 29

2.3.3. Variables no inicializadas ............................................................................................ 30

2.3.4. Constantes .................................................................................................................. 30

2.3.5. Tipos de datos escalares ............................................................................................ 31

2.3.6. Ámbito de las variables ............................................................................................... 33

2.3.7. Variables predefinidas ................................................................................................. 33

2.4. Comentarios ................................................................................................................... 34

2.5. Estructuras de control ..................................................................................................... 35

2.5.1. Estructuras condicionales ............................................................................................ 35

2.5.2. Estructuras de repetición .............................................................................................. 36

2.5.3. Otras estructuras de control ......................................................................................... 40

2.6. Operadores ...................................................................................................................... 42

2.7.Arrays................................................................................................................................. 44

2.8. Funciones y librerías ..................................................................................................... 48

2.8.1. Funciones predefinidas ............................................................................................. 48

2.8.2. Funciones definidas por el usuario ........................................................................... 50

2.8.3. Paso de argumentos por copia y por valor ............................................................... 51

2.8.4. Funciones como argumentos ................................................................................... 51

2.9. Excepciones y errores ................................................................................................ 52

2.9.1. Errores ................................................................................................................. 52

2.9.2. Excepciones ............................................................................................................. 54

2.9.3. Excepciones Error .................................................................................................... 55

2.10. Clases y objetos ........................................................................................................ 56

Resumen ............................................................................................................................ 58

Ejercicios propuestos........................................................................................................ 59

Actividades de autoevaluación ........................................................................................... 59

3. DESARROLLO DE APLICACIONES WEB CON PHP ................................................... 63

Objetivos ............................................................................................................................. 63

Mapa conceptual ................................................................................................................ 64

Glosario .............................................................................................................................. 64

3.1. Paso de parámetros .................................................................................................... 64

3.2. Formularios ................................................................................................................. 66

3.2.1. Formulario de login .................................................................................................. 67

3.2.2. Formulario y procesamiento en un solo fichero ....................................................... 68

3.2.3. Subida de ficheros ................................................................................................... 69

3.3. Cookies ....................................................................................................................... 71

3.4. Sesiones. Seguridad: usuarios y roles ....................................................................... 73

3.5. Envío de correo electrónico ......................................................................................... 76

3.6. Bases de datos relacionales ........................................................................................ 78

3.6.1. Conexión a la base de datos .................................................................................... 78

3.6.2. Recuperación y presentación de datos ..................................................................... 79

3.6.3. Inserción, borrado y actualización ............................................................................. 80

3.6.4. Transacciones ............................................................................................................ 81

3.7. Bases de datos no relacionales ..................................................................................... 82

3.7.1. Instalación y puesta marcha de MongoDB ................................................................. 82

3.7.2. Conexión desde PHP .................................................................................................. 84

3.8. Ficheros ......................................................................................................................... 86

3.8.1. Ficheros XML ............................................................................................................... 89

3.9. Pruebas .......................................................................................................................... 92

3.10. Depuración de errores ................................................................................................. 94

Resumen .............................................................................................................................. 95

Ejercicios propuestos............................................................................................................ 95

Actividades de autoevaluación ............................................................................................. 96

4. EJEMPLO DE APLICACIÓN COMPLETA EN PHP ......................................................... 99

Objetivos .............................................................................................................................. 99

Mapa conceptual ................................................................................................................. 100

Glosario ............................................................................................................................ 100

4.1. Definición del proyecto .............................................................................................. 100

4.2. Análisis de requisitos ................................................................................................. 102

4.2.1. Esquema entidad-relación ...................................................................................... 102

4.2.2. Limitaciones de la aplicación .................................................................................. 103

4.3. Diseño de la aplicación .............................................................................................. 103

4.3.1. Diseño lógico de la base de datos .......................................................................... 103

4.3.2. Diseño físico de la base de datos ........................................................................... 104

4.3.3. Diagrama de flujo de pantallas ................................................................................ 105

4.3.4. El carrito de la compra ............................................................................................. 106

4.3.5. Control de acceso .................................................................................................... 107

4.3.6. Ficheros de la aplicación .......................................................................................... 108

4.4. Implementación ............................................................................................................ 109

4.4.1. Login .......................................................................................................................... 109

4.4.2. Control de acceso ...................................................................................................... 110

4.4.3. La cabecera ............................................................................................................... 110

4.4.4. Lista de categorías ..................................................................................................... 111

4.4.5. Tabla de productos ..................................................................................................... 112

4.4.6. Añadir productos ........................................................................................................ 113

4.4.7. El carrito de la compra ............................................................................................... 114

4.4.8. Eliminar productos ..................................................................................................... 115

4.4.9. Procesamiento del pedido ......................................................................................... 116

4.4.10. La base de datos ..................................................................................................... 117

4.4.11. Envío de correos ...................................................................................................... 121

Resumen .............................................................................................................................. 122

Ejercicios propuestos............................................................................................................. 123

Actividades de autoevaluación .............................................................................................. 123

5. APLICACIONES WEB DINÁMICAS CON AJAX ............................................................... 125

Objetivos ................................................................................................................................ 125

Mapa conceptual .................................................................................................................... 126

Glosario .................................................................................................................................. 126

5.1. Separación de la lógica de negocio ............................................................................. 126

5.2. Tecnologías y librerías asociadas ..................................................................................... 127

5.3. Obtención remota de información ................................................................................. 128

5.3.1. Peticiones síncronas y asíncronas ................................................................................ 129

5.4. Respuesta del servidor ..................................................................................................... 131

5.5. Modificación de la estructura de la página web .............................................................. 132

5.6. Captura de eventos ........................................................................................................ 134

5.7. Aplicaciones de una sola página .................................................................................... 135

Resumen ............................................................................................................................... 135

Ejercicios propuestos.............................................................................................................. 135

Actividades de autoevaluación .............................................................................................. 136

6. APLICACIÓN DE PEDIDOS CON AJAX ........................................................................... 139

Objetivos ............................................................................................................................... 139

Mapa conceptual ................................................................................................................... 140

Glosario ................................................................................................................................. 140

6.1. Diseño de la aplicación ................................................................................................ 140

6.2. Estructura de la página web .......................................................................................... 141

6.3. Cambios en la estructura .............................................................................................. 142

6.4. En el servidor ................................................................................................................. 143

6.5. Implementación ............................................................................................................ 144

6.6. Lado del servidor ............................................................................................................ 145

6.6.1. Login ........................................................................................................................... 145

6.6.2. Control de acceso ....................................................................................................... 146

6.6.3. La cabecera ................................................................................................................ 146

6.6.4. Las categorías ............................................................................................................. 147

6.6.5. Los productos ............................................................................................................. 147

6.6.6. El carrito de la compra ..................................................................................... 147

6.6.7. Añadir y eliminar productos ........................................................................... 148

6.6.8. Cerrar la sesión ............................................................................................... 148

6.6.9. Procesar el pedido .......................................................................................... 149

6.6.10. Funciones auxiliares .................................................................................... 149

6.7. El lado del cliente .............................................................................................. 149

6.7.1. Login ............................................................................................................... 149

6.7.2. Las categorías ................................................................................................. 150

6.7.3. Los productos ................................................................................................... 151

6.7.4. El carrito ............................................................................................................ 153

6.7.5. Añadir y eliminar ............................................................................................... 154

6.7.6. Realizar el pedido ........................................................................................... 155

Resumen ................................................................................................................... 156

Ejercicios propuestos.................................................................................................. 156

Actividades de autoevaluación ................................................................................... 156

7. MAPEO OBJETO-RELACIONAL (ORM) ................................................................ 159

Objetivos ...................................................................................................................... 159

Mapa conceptual ........................................................................................................ 160

Glosario ...................................................................................................................... 160

7.1. Mapeo objeto-relacional ...................................................................................... 160

7.2. Doctrine ............................................................................................................... 161

7.2.1. Instalación y configuración ................................................................................ 161

7.2.2. Entidades .......................................................................................................... 162

7.2.3. Inserción y borrado ........................................................................................... 165

7.3. Asociaciones ........................................................................................................ 166

7.3.1. Asociaciones muchos a uno unidireccionales ................................................... 167

7.3.2. Asociaciones muchos a uno bidireccionales ..................................................... 169

7.4. Consultas básicas ................................................................................................. 170

7.5. DQL ....................................................................................................................... 171

7.6. Repositorios propios ............................................................................................ 173

Resumen ..................................................................................................................... 174

Ejercicios propuestos................................................................................................... 174

Actividades de autoevaluación ................................................................................... 175

8. DESARROLLO DE APLICACIONES EN SYMFONY ........................................... 177

Objetivos .................................................................................................................... 177

Mapa conceptual ....................................................................................................... 178

Glosario ..................................................................................................................... 178

8.1. El patrón MVC ................................................................................................... 178

8.2. Symfony ............................................................................................................. 179

8.2.1. Visión general .................................................................................................. 179

8.2.2. Instalación ........................................................................................................ 180

8.2.3. Estructura de directorios ................................................................................ 181

8.3. Controladores ................................................................................................... 182

8.4. Rutas ................................................................................................................ 182

8.4.1. Paso de parámetros ...................................................................................... 182

8.4.2. Valores por defecto ....................................................................................... 183

8.4.3. Redirección ................................................................................................... 184

8.4.4. Rutas a nivel de clase ................................................................................. 184

8.4.5. Rutas disponibles ......................................................................................... 185

8.5. Plantillas .......................................................................................................... 185

8.5.1. Introducción a Twig ....................................................................................... 185

8.5.2. Rutas en plantillas ......................................................................................... 188

8.5.3. Inclusión y herencia ...................................................................................... 188

8.6. Servicios .......................................................................................................... 189

8.7. Bases de datos ................................................................................................ 190

8.8. Formularios ..................................................................................................... 191

8.9. Envío de correo ............................................................................................... 192

8.10. Seguridad. Usuarios y roles .......................................................................... 193

8.10.1. Control de acceso ...................................................................................... 197

8.10.2. Abrir sesión ................................................................................................. 197

8.10.3. Cerrar sesión .............................................................................................. 199

Resumen ............................................................................................................... 199

Ejercicios propuestos............................................................................................ 200

Actividades de autoevaluación ............................................................................ 200

9. APLICACIÓN DE PEDIDOS EN SYMFONY ................................................... 203

Objetivos .............................................................................................................. 203

Mapa conceptual .................................................................................................. 204

Glosario ................................................................................................................ 204

9.1. Diseño de la aplicación .................................................................................. 204

9.1.1. Plantillas ..................................................................................................... 205

9.1.2. Entidades .................................................................................................... 205

9.1.3. Rutas de la aplicación ................................................................................ 206

9.2. Implementación ............................................................................................ 207

9.3. Plantillas ....................................................................................................... 208

9.3.1. Login .......................................................................................................... 208

9.3.2. Plantilla base .............................................................................................. 208

9.3.3. Cabecera .................................................................................................... 209

9.3.4. Lista de categorías ...................................................................................... 209

9.3.5. Tabla de productos ...................................................................................... 210

9.3.6. El carrito de la compra ................................................................................. 210

9.3.7. Confirmación del pedido .............................................................................. 211

9.3.8. Correo .......................................................................................................... 211

9.4. Entidades ........................................................................................................ 212

9.5. Controladores .................................................................................................. 217

9.5.1. Abrir sesión ................................................................................................... 217

9.5.2. Lista de categorías ....................................................................................... 217

9.5.3. Tabla de productos ...................................................................................... 218

9.5.4. Carrito .......................................................................................................... 218

9.5.5. Añadir y eliminar .......................................................................................... 219

9.5.6. Realizar pedido ............................................................................................ 220

9.6. Seguridad ....................................................................................................... 222

Resumen .............................................................................................................. 223

Ejercicios propuestos............................................................................................ 224

Actividades de autoevaluación ............................................................................. 224

10. SERVICIOS WEB Y APLICACIONES HÍBRIDAS .......................................... 227

Objetivos ............................................................................................................... 227

Mapa conceptual ................................................................................................... 228

Glosario ................................................................................................................. 228

10.1. Arquitecturas de programación orientadas a servicios .............................. 229

10.2. Protocolos y lenguajes implicados. SOAP ................................................... 229

10.2.1. SOAP ........................................................................................................ 230

10.2.2. Descripción de servicios web. WSDL ....................................................... 230

10.3. Librerías de PHP para servicios web ........................................................... 233

10.3.1. Generación de servicios web .................................................................... 233

10.3.2. Utilización de servicios web ...................................................................... 236

10.4. Aplicaciones híbridas .................................................................................. 237

10.4.1. Interfaces de programación y repositorios ............................................... 237

Ejercicios propuestos............................................................................................ 244

Resumen .............................................................................................................. 244

Actividades de autoevaluación ............................................................................. 245

WEBGRAFÍA ......................................................................................................... 247

 

 

 

 

Año
2019
ISBN
9788491713494
Editorial
Tipo
Características
Páginas: 246
Empaste: Rústica
Medidas: 19.5 x 27
Peso: