PHP Projects · Lesson 7 of 8
REST API
Plan an API with resource routes, validation, status codes, and tests.
Lesson
For a small REST API, define resources and request contracts first. Implement list, create, show, update, and delete operations with authentication and per-resource authorization. Validate JSON bodies, paginate collections, return stable error shapes, and test status codes and data access boundaries.
Keep routing, validation, domain operations, and persistence separable as the API grows.
Further guidance
Turn the feature into a sequence of small vertical slices: input, validation, domain behavior, persistence, response, and tests. Write acceptance criteria before implementation, protect each operation with authorization, and verify invalid input and failure cases. Document setup and keep deployment secrets out of the repository.
Practice task: Create a fresh example for REST API. Predict the result before running it, then change one input and explain why the result changes. Test a normal case and one boundary or invalid case where it applies. Compare your output with the example and note one rule you would use in a real project.
Code examples
REST API
PHP
header('Content-Type: application/json; charset=utf-8');
http_response_code(200);
echo json_encode(['data' => [], 'meta' => ['page' => 1]], JSON_THROW_ON_ERROR);
Expected output
A paginated JSON collection response
Key points
- Plan an API with resource routes, validation, status codes, and tests.
- Build and verify one complete feature at a time.
- Test invalid input, permissions, and failure paths before deployment.
Your learning progress
Finish this lesson
Optional practice
PHP playground
This site does not execute learner-provided PHP code. Connect a secured PHP sandbox service before enabling code execution.
Execution is disabled. No code is sent to a server.