Book Image

Building RESTful Web Services with PHP 7

By : Waheed ud din
Book Image

Building RESTful Web Services with PHP 7

By: Waheed ud din

Overview of this book

REST is the most wide spread and effective standard to develop APIs for internet services. With the way PHP and its eco-system has modernized the way code is written by simplifying various operations, it is useful to develop RESTful APIs with PHP 7 and modern tools. This book explains in detail how to create your own RESTful API in PHP 7 that can be consumed by other users in your organization. Starting with a brief introduction to the fundamentals of REST architecture and the new features in PHP 7, you will learn to implement basic RESTful API endpoints using vanilla PHP. The book explains how to identify flaws in security and design and teach you how to tackle them. You will learn about composer, Lumen framework and how to make your RESTful API cleaner, secure and efficient. The book emphasizes on automated tests, teaches about different testing types and give a brief introduction to microservices which is the natural way forward. After reading this book, you will have a clear understanding of the REST architecture and you can build a web service from scratch.
Table of Contents (16 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Transformers


In full-stack MVC framework, we have Model View Controller. In Lumen or in API, we don't have Views because we just return some data. However, we may want to data in a different way than usual. We may want to use a different format, or we may want to restrict an object with a specific format. In all such cases, we need a place where formatting-related tasks will be done, a place where we can have different format-related content. We can have it in controller. However, we will need to define the same format at different places. In that case, we can add a method in model. For example, post model can have a specific way to format a post object. So, we can define another method in Post Model.

It will work fine, but if you look at it closely, it is related to formatting, not model. So, we have another layer called serializes or transformers. Also, sometimes, we need nested objects, so we will not want to do the same nesting again and again.

Lumen provides a way to serialize data to...