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
About the Author
About the Reviewer
Customer Feedback

What we are missing?

Are we done with making Controllers that serves RESTful resources endpoints? Actually no, we have missed many things. We just created basic RESTful web service, which can work just to give you an idea of how we can make it using Lumen, but we have missed many things. So, let's look at them and do them one by one.

Validation and negative cases?

First, we are only with positive cases: that means are not considering what happens if the request is not according to our assumption. What if the user is sending data with the wrong method? What if a doesn't exist with the ID that the user is passing on?

In short, we are not yet handling all that, but there are things that is handling for us already.

If you try to hit endpoint URLs, http://localhost:8000/api/posts/1 with the POST method, then, it is an invalid method. On those URLs, we can only send a request with GET, PUT or PATCH. With GET, it will trigger the PostControllershow() method while PUT or PATCH will trigger the update...