
PHP 7 Programming Blueprints
Jose Palala, Martin Helmich
- Editorial
- Packt
- Año
- 2016
- Páginas
- ~320
- Nivel
- Básico
De qué trata
PHP 7 Programming Blueprints es un libro de proyectos de Jose Palala y Martin Helmich publicado por Packt en octubre de 2016. Enseña PHP 7 construyendo una aplicación distinta en cada capítulo y está dirigido a desarrolladores web, consultores PHP y, en general, a quien trabaja en varios proyectos con PHP y ya conoce lo básico del lenguaje. Para seguirlo hace falta PHP 7 con Apache o Nginx; varios capítulos usan además contenedores Docker.
El primer proyecto es un sistema de perfiles de usuario con paginación que sirve para presentar el operador de fusión de null (??). El segundo construye una clase de acceso a base de datos y un carrito de compra sencillo sobre MySQL, con panel de administración y facturas en PDF generadas con TCPDF. El tercero es un servicio de boletines con toques sociales: autenticación con clases y autocarga, inicio de sesión con Facebook y un chat de soporte con WebSockets sobre Ratchet. El cuarto monta un blog con búsqueda sobre Elasticsearch, con Logstash, caché en Redis y gráficos con Highcharts. Los capítulos escritos por Helmich se vuelven más avanzados: un servicio web REST con Slim, MongoDB y GridFS, con middleware de autenticación; una aplicación de chat con Ratchet y Slim y autenticación por sesión; una arquitectura de microservicios asíncronos (pago, inventario, correo y envíos) que se comunican mediante ZeroMQ y ReactPHP; y por último un analizador e intérprete para un lenguaje de expresiones propio basado en una gramática PEG, con árbol sintáctico, pruebas con PHPUnit y mediciones con PHPBench.
Muchas dependencias son hoy versiones antiguas (Slim 3, Ratchet 0.3, PHPUnit 5, Bower), así que el código necesitará ajustes para funcionar con PHP 8. Lo que sigue siendo valioso es la variedad de arquitecturas que presenta: WebSockets, búsqueda, REST, microservicios con colas de mensajes y análisis sintáctico.
- PHP 7
- MySQL y PDO
- WebSockets con Ratchet
- Elasticsearch
- Redis
- APIs REST con Slim
- MongoDB
- Microservicios con ZeroMQ
- ReactPHP
- Parsers PEG
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Carrito de compra
Tienda sencilla sobre MySQL con clase de base de datos, panel de administración y facturas en PDF.
Servicio de boletines social
Suscripciones a boletines con autenticación, inicio de sesión con Facebook y chat de soporte por WebSockets.
Blog con búsqueda en Elasticsearch
Indexación y búsqueda de entradas con Elasticsearch, Logstash y caché en Redis.
Servicio web REST de perfiles
API con Slim, MongoDB y GridFS para perfiles e imágenes, con middleware de autenticación.
Chat en tiempo real
Aplicación de chat con Ratchet y Slim y autenticación basada en sesiones.
Tienda con microservicios asíncronos
Servicios de pago, inventario, correo y envíos comunicados con ZeroMQ y ReactPHP y desplegados con Docker.
Intérprete de un lenguaje de expresiones
Parser PEG que construye un árbol sintáctico y evalúa expresiones, con pruebas en PHPUnit y benchmarks en PHPBench.

