
Un libro altamente especializado enfocado en una tecnología específica (framework) de un lenguaje de programación concreto. Si alguien está estudiando solo un framework y quiere ir más allá, explorar algo nuevo y compararlo con el framework que ya conoce, este libro podría ser bastante adecuado. Sin embargo, Zend Framework no es la herramienta de desarrollo más popular en el mundo de PHP, así que probablemente recomendaría Laravel o Symfony.
Un libro que se presenta como una guía paso a paso del framework para principiantes. El libro consta de 10 capítulos, cada uno de los cuales es una especie de continuación del anterior.
Primeros pasos con Zend Framework
El título lo dice todo. Qué es Zend Framework y cuáles son sus características. Cómo se realiza la instalación, configuración y conexión a la base de datos (por cierto, el trabajo con la base de datos se describe utilizando phpMyAdmin, así que no encontrarás migraciones aquí). Al final del capítulo hay una conclusión y un par de preguntas de control. Ambos aparecerán a lo largo del resto de los capítulos.
Creación de la primera aplicación con Zend Framework
Una introducción muy breve a Git y Composer. Se continúa con la configuración del servidor web, en este caso Apache. Después de algunas manipulaciones, aparece el mensaje de bienvenida: la página principal del proyecto.
Luego comienza la introducción al concepto modular del framework, se analiza la estructura de carpetas. Después se instala un módulo de plantilla y se transforma en la entidad “Users”. Se analiza el programa de consola ZFTool, se describe el patrón MVC y se descompone la estructura de carpetas del módulo. Se explica la creación de archivos de vista, la adición de código al controlador y la configuración del módulo. Hay ejemplos de cómo agregar nuevas rutas, lo cual me parece un método muy incómodo, al igual que toda la configuración en general.
Creación de una aplicación de comunicación
Se analiza el trabajo con formularios, el proceso de validación y las clases para trabajar con la base de datos. Por cierto, los ejemplos de arrays todavía están escritos como array() y no como [], y la versión de PHP utilizada aquí es la 5. Finalmente se crea una tabla en la base de datos y un modelo para ella. Luego se revisa un ejemplo de autenticación utilizando la funcionalidad integrada del framework.
Gestión de datos y uso compartido de documentos
En este capítulo se analiza el Service Manager de Zend Framework 2, que en esencia implementa el patrón Service Locator. Se realiza una refactorización del código utilizando el Service Manager. Si en el capítulo anterior el trabajo con la base de datos solo era para insertar registros (mediante el registro de usuarios), aquí se implementa un proceso completo de CRUD. Para facilitar todas estas operaciones, el framework utiliza la clase TableGateway, que implementa la interfaz TableGatewayInterface. Lo último que se analiza en este capítulo es el trabajo con archivos mediante los mecanismos integrados del framework.
Chat y correo electrónico
En este capítulo, el autor crea un componente con funciones de chat grupal sencillo y correo electrónico. Se presta bastante atención a los archivos de vista, el código JS y el CSS, y se presenta el uso de algunas funciones helper del proyecto. Para el código JS se utiliza jQuery. En el backend, por supuesto, se analiza el proceso completo: desde la creación de rutas que reciben datos hasta el procesamiento y almacenamiento en la base de datos. Al final del capítulo se analiza cómo trabajar con el envío de correos electrónicos en Zend y cómo manejar eventos (mediante la clase Zend\EventManager).
Acceso compartido a multimedia
El capítulo se dedica a cómo trabajar con servicios de terceros como Google Photos, YouTube y otros. Composer y paquetes externos son de gran ayuda. Se muestra un ejemplo de cómo crear una tabla de base de datos y archivos de vista para subir imágenes para una futura galería.
Búsqueda con la biblioteca Lucene
Aquí se habla sobre la búsqueda de texto completo, implementada a través de la biblioteca Lucene (en la primera versión del framework era parte del mismo, pero en la segunda se convirtió en una biblioteca independiente que debe instalarse por separado).
Creación de una tienda sencilla
Como ya habrás adivinado por el título del capítulo, se trata de un intento de crear una tienda en línea. No habrá un catálogo de productos, pero se muestra el mecanismo para crear un carrito de compras — desde la creación de la tabla hasta el código del controlador y la interfaz. Además, se revisa un ejemplo de integración con PayPal Express Checkout mediante el plugin SpeckPaypal.
Soporte de HTML5
Este capítulo está dedicado a las nuevas etiquetas HTML5 (en ese momento), en particular las etiquetas para formularios. Se enumeran los helpers del framework para trabajar con estos elementos de formulario.
Creación de aplicaciones móviles
Aquí se trata sobre la creación de la primera aplicación móvil en la nube utilizando la tecnología CCM (Cloud Connected Mobile). Se analiza Zend Developer Cloud, un entorno de desarrollo en la nube.