A highly specialized book focused on a specific technology (framework) of a particular programming language. If someone is studying only one framework and wants to go beyond it, explore something new, and compare it with the framework they've learned, this book could be quite suitable. However, Zend Framework is not the most popular development tool in the PHP world, so I would probably recommend Laravel or Symfony instead.
A book that positions itself as a step-by-step guide to the framework for beginners. The book consists of 10 chapters, each of which is a kind of continuation of the previous one.
Getting Started with Zend Framework
The chapter speaks for itself. What is Zend Framework, what are its features. How to install, configure, and connect to a database (by the way, working with the database is described using phpMyAdmin, so you won't find any migrations here). At the end of the chapter, there is a conclusion and a couple of control questions. Both will appear throughout the rest of the chapters.
Creating Your First Application with Zend Framework
A very brief introduction to Git and Composer. Configuration of the web server continues, in this case Apache. After some manipulation, we see the welcome line — the main page of the project.
Next begins an introduction to the modular concept of the framework, folder structure is explained. Then comes the installation of a module template and its transformation into the “Users” entity. The ZFTool console program is examined, the MVC pattern is described, and the module folder structure is broken down. The creation of view files, adding code to the controller, and configuring the module are covered. There are examples of adding new routes — in my opinion, a very inconvenient method, as is all configuration in general.
Creating a Communication Application
Work with forms, the validation process, and classes for working with the database are considered. By the way, array examples are still written as array() instead of [], and PHP version here is 5. Finally, a database table and a model for it are created. An example of authentication using built-in framework functionality is then reviewed.
Data Management and Document Sharing
This chapter covers the Zend Framework 2 Service Manager, which essentially implements the service locator pattern. Code refactoring is done using the service manager. If the previous chapter covered only data insertion into the database (by registering users), this chapter offers a full CRUD process. To facilitate all these operations, the framework uses the TableGateway class, which implements the TableGatewayInterface. The final topic covered in this chapter is working with files using built-in framework mechanisms.
Chat and Email
In this chapter, the author creates a component with simple group chat and email features. Considerable attention is given to view files, JS code, and CSS code, and some helper functions of the project are introduced. jQuery is used for the JavaScript part. On the backend, of course, the process is covered — from creating routes that accept data to processing and storing it in the database. The chapter concludes with an explanation of how Zend handles sending emails and working with events (via the Zend\EventManager class).
Shared Access to Multimedia
This chapter focuses on working with third-party services such as Google Photos, YouTube, and others. Composer and external packages come to the rescue. An example of creating a database table and view files for uploading images for a future gallery is provided.
Search Using the Lucene Library
This section discusses full-text search implemented using the Lucene library (in the first version of the framework it was part of the core, but in the second version it became a separate library that must be installed separately).
Creating a Simple Store
As you may have guessed from the chapter title, this is about an attempt to create an online store. There is no product catalog here, but the mechanism of creating a shopping cart is shown — from creating the table to the controller code and UI. In addition, an example of working with PayPal Express Checkout via the SpeckPaypal plugin is reviewed.
HTML5 Support
This chapter is dedicated to the (at the time) new HTML5 tags, specifically those for working with forms. The framework helpers for working with these form elements are listed.
Creating Mobile Applications
This section discusses creating the first cloud-based mobile application using CCM (Cloud Connected Mobile) technology. Zend Developer Cloud — a cloud development environment — is reviewed.