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

Dingo, simplifying RESTful API development

Yes, you heard it right. I didn't say bingo. It's Dingo. Actually, API is a package for Laravel and Lumen that makes it a lot simpler to develop RESTful web services. It provides many features out of the box and many are what we saw in the previous chapter. Many of these features will make our existing code better and easier to understand and maintain. You can check out the API package at

Let's first install it, and we will keep looking at its benefits and features side by side while using them.

Installation and configuration

Simply it through composer:

composer require dingo/api:1.0.x@dev

Probably, you are wondering what this @dev is. So, here is what the documentation says:

At this time, the package is still in a developmental stage and as such, does not have a stable release. You may need to set your minimum stability to dev.

If you are still not sure about why we need to set minimum stability, then it is because of...