Resumen del curso PROGRAMACIÓN EN PHP AVANZADA

Objetivos
- Ser capaz de crear objetos y crear clases que hereden de otras clases y conocer el ámbito de las variables y funciones contenidas en las mismas.

- Ser capaz de buscar, instalar y activar extensiones de PHP, así como de utilizar librerías de terceros en sus desarrollos.

- Poder realizar un procesamiento de imágenes completo, aplicando todo tipo de transformaciones a sus recursos gráficos y generando archivos de imagen o salidas por pantalla en diferentes formatos (JPEG, PNG, GIF o BMP).

- Generar todo tipo de documentos en formato PDF utilizando la librería FPDF.

- Crear un sistema de autenticación entre dos aplicaciones web independientes para que el usuario pueda identificarse en ambas con una solo login.

- Crear un web service utilizando REST API. Del mismo modo también será capaz de crear aplicaciones web que consuman web services de terceros.

- Ser capaz de separar por completo la lógica de negocio de la presentación en sus aplicaciones web, utilizando tanto soluciones propias como motores de plantillas ya existentes.

- Ser capaz de estructurar el código de sus aplicaciones web utilizando el patrón Modelo Vista Controlador.
 
Contenido
Tema 1. Introducción y software necesario.

Uso profesional de PHP.
Versiones de PHP.
El servidor de desarrollo.
Descarga de XAMPP.
Instalación de XAMPP.
Configuración de XAMPP.
Editor de texto para PHP.
Descarga de Notepad++.
Cliente de MySQL.
¿Qué es phpMyAdmin?
Descarga e instalación de phpMyAdmin.
Utilización de phpMyAdmin.

Tema 2. Programación orientada a objetos.

Clases y objetos.
Sintaxis de una clase.
La pseudovariable $this.
Ámbito de los métodos y propiedades de una clase.
Propiedades estáticas.
Métodos estáticos.
Constructores y destructores.
Herencia de clases.
Ámbito de los métodos y propiedades de una clase heredada.
Sobrescritura de métodos.
Clases abstractas.
Métodos abstractos.
Métodos finales.

Tema 3. Extensiones y librerías.

Extensiones.
Búsqueda de extensiones.
Activación de extensiones.
Instalación de extensiones.
Librerías.
Ejemplo práctico: Librería PHPMailer.

Tema 4. Tratamiento de imágenes.

La biblioteca GD.
Generar un recurso de imagen.
Exportar nuestro recurso de imagen.
Funciones de tratamiento de imágenes.
Procesar archivos de imagen enviados mediante un upload.
Caché de las imágenes.

Tema 5. Archivos en formato PDF.

Introducción.
La librería FPDF.
Descarga e instalación.
Descarga e instalación de la versión UTF-8.
Generando nuestro primer PDF.
Configurando el entorno.
Añadiendo contenido.
Estilos de celda.
Recursos gráficos.
Configuración de página.
Cabecera y pie de página.

Tema 6. Single Sign-On.

¿Qué es SSO?
Proveedor de identidad: Crear el enlace.
Proveedor de servicio: Implementar el endpoint.
Securizando el SSO.
Firma de datos.
Hacer que el enlace caduque.
Otras opciones de implementación.

Tema 7. Web services.

Web services.
¿Qué es un web service?
Crear un web service básico.
Generar un endpoint.
Llamar al endpoint.
Estandarización de web services.
REST.
Generar la petición HTTP que llama al servicio REST.
Configurar el endpoint del web service.
Recuperar datos de la petición desde el web service.
Generar la respuesta.
Recuperar datos de la respuesta.

Tema 8. Lógica de negocio y presentación.

Separando la lógica de negocio de la presentación.
Segmentar las plantillas.
Repetir secciones de código.
Trabajar con idiomas.
Motor de plantillas predesarrollado: Smarty.
Descargar y configurar Smarty.
Utilizar las plantillas.
Segmentar las plantillas.
Repetir secciones de código.
Trabajar con idiomas.
Funcionalidades adicionales del código Smarty.

Tema 9. Modelo Vista Controlador.

Ciclo de vida del patrón MVC.
Estructura de la aplicación web.
Controlador.
Modelo.
Vista.