final class MovieRoute extends Route
{
protected string $prefix = '/api/v1';
protected function routes(): void
{
$this->get('/movies', [MovieController::class, 'index']);
$this->get('/movies/{id}', [MovieController::class, 'show']);
$this->get('/genres', [MovieController::class, 'genres']);
}
}PHPAML Movies API
A read-only movie catalog API organized around explicit resource routes and a small, understandable backend.
What this demo validates
Automatic route discovery, dependency injection, JSON responses, SQLite repositories, search, filters, pagination, CORS, errors, and OpenAPI.
Stack
01PHPAML 1.702REST API03Resource routes04SQLite05CORS06OpenAPI 3.1