Book Image

Mastering PHP Design Patterns

By : Junade Ali
Book Image

Mastering PHP Design Patterns

By: Junade Ali

Overview of this book

Design patterns are a clever way to solve common architectural issues that arise during software development. With an increase in demand for enhanced programming techniques and the versatile nature of PHP, a deep understanding of PHP design patterns is critical to achieve efficiency while coding. This comprehensive guide will show you how to achieve better organization structure over your code through learning common methodologies to solve architectural problems. You’ll also learn about the new functionalities that PHP 7 has to offer. Starting with a brief introduction to design patterns, you quickly dive deep into the three main architectural patterns: Creational, Behavioral, and Structural popularly known as the Gang of Four patterns. Over the course of the book, you will get a deep understanding of object creation mechanisms, advanced techniques that address issues concerned with linking objects together, and improved methods to access your code. You will also learn about Anti-Patterns and the best methodologies to adopt when building a PHP 7 application. With a concluding chapter on best practices, this book is a complete guide that will equip you to utilize design patterns in PHP 7 to achieve maximum productivity, ensuring an enhanced software development experience.
Table of Contents (14 chapters)
Mastering PHP Design Patterns
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

Model-View-Controller (MVC)


MVC is the most common type of Architectural pattern that PHP developers encounter. Fundamentally, MVC is an Architectural pattern for implementing user interfaces.

It largely works around the following methodology:

  • Model: This supplies the data to the application, whether it's from a MySQL database or any other data store.

  • Controller: A Controller is essentially where the business logic is. The Controller handles whatever queries the View provides, using the Model to assist it in this behavior.

  • View: The actual content that is supplied to the end-user. This commonly is an HTML template.

Business logic for one interaction isn't strictly separated from another interaction. There is no formal separation between the different classes of an application.

It is critical to consider that the MVC pattern is principally a UI pattern, so it doesn't scale well throughout an application. That said, the rendering of UIs is increasingly being done via JavaScript applications,...