Learn how to build RESTful API and web services in PHP 7
About This Book
- Leverage the Lumen framework to build RESTful API endpoints for your applications
- Understand how to increase efficiency and security of your web service.
- Learn to apply the concepts by implementing the examples covered in the book
Who This Book Is For
This book is for PHP developers who wish to learn about the REST architecture to be able to build and consume REST APIs in their applications.
What You Will Learn
- Understand the REST API architecture and its benefits
- Write RESTful API web services in PHP 7
- Address security-elated issues in a REST API
- Leverage the importance of automated testing and write tests for API endpoints
- Identify security flaws in our current API endpoints and tackle them effectively
- Observe the working of Lumen microframeworks and write RESTful web services in it
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.
Style and approach
This book will get you started with REST architecture and will also teach you different methods to build web services from scratch.
Table of Contents
RESTful Web Services, Introduction and Motivation
- Web services
- REST architecture
- RESTful web services
- Why RESTful web services?
- Nature of HTTP methods
- HTTP response
Case study - RESTful web service endpoints for a blog
- Blog post
- Blog post comments
- More resources
PHP7, To Code It Better
- Scalar type declaration
- Return type declaration
- Null coalescing operator
- Spaceship operator
- Group use declarations
- Generator-related features
- Anonymous classes
- Errors and exceptions
- More resources
Creating RESTful Endpoints
- Creating a REST API for a blog in PHP
- Visible flaws
Reviewing Design Flaws and Security Threats
Finding problems in the current code
- Structural and design flaws
- Securing API endpoints
- Common security threats in RESTful web services
- Available reusable code
- Finding problems in the current code
Load and Resolve with Composer, an Evolutionary
- Introduction to Composer
- Usage of Composer
Illuminating RESTful Web Services with Lumen
- Why micro-framework?
- Why Lumen?
- What Lumen provides
- Installing Lumen
- Setting up the database
- Writing RESTful web service endpoints
- Controller Implementation
- What we are missing?
- Introducing Lumen
Improving RESTful Web Services
- Dingo, simplifying RESTful API development
- Authentication and middleware
API Testing – Guards on the Gates
- The need for automated tests
- Types of testing
- What type of testing will we do?
- CodeCeption introduction
- Setup and understanding the structure
- Writing test cases
- Introducing Microservices
- Motivation towards microservices
- How it is different from SOA
- Team structure
- Challenges of micro-services
- Title: Building RESTful Web Services with PHP 7
- Release date: September 2017
- Publisher(s): Packt Publishing
- ISBN: 9781787127746