Everything you need to build versioned JSON APIs with Pionia v3.
Hands-on pages follow one fictional product so names stay consistent:
Requires PHP 8.5+. Tutorial services: task, member, project. Sample login: alex@northwind.studio.
Install Pionia and meet DeskFlow.
15 steps — scaffold through deploy.
Copy-paste curl payloads and JSON envelopes.
New to PHP or Pionia? Start here — tutorial comes after install.
| Order | Guide | Description |
|---|---|---|
| 1 | Introduction | Install with Composer, first ping, meet DeskFlow |
| 2 | PHP basics | Minimum PHP (optional) |
| 3 | DeskFlow tutorial | Build the task board API step by step |
| 4 | Glossary | service, action, switch, envelope |
| Type | Reader goal | Examples |
|---|---|---|
| Tutorials | Hands-on; build DeskFlow step by step | API tutorial |
| Topic guides | Understand concepts | Moonlight overview, Auth |
| Reference | Look up APIs and config | Helpers, Porm API |
| How-to guides | One task, one recipe | RoadRunner, Maintenance |
| Layer | Topics |
|---|---|
| Getting started | Composer install, PHP basics, DeskFlow tutorial, app structure, v3 changelog |
| Building your API | Moonlight, services, actions, validation, generic CRUD, API docs |
| Database (Porm) | Configuration, queries, filtering, joins, pagination, connections |
| HTTP | Envelopes, middleware, exceptions, routing, collections |
| Security | Authentication backends, JWT, authorization in services |
| Frontend | Vite SPA scaffold, dev proxy, production build |
| Operations | CLI, RoadRunner, caching, logging, maintenance, production optimize |
| Extending | App providers, Composer packages, helpers, maintainer notes |
Services · Actions · Validation · Generic services · Moonlight overview · Documenting your API
Getting started · Making queries · Filtering · Joins · Pagination
Requests & responses · Middleware · Exceptions · Routing
Authentication · Security utilities
Vite integration · RoadRunner · Production performance · CLI · Caching · Logging
App providers · Composer packages · Maintainer notes
storage/logs/ with DEBUG=true in .envcomposer create-project template/stats when DEBUG or STATS_ENABLED is onphp pionia new is for framework contributors only; apps install via composer create-project pionia/pionia-app./documentation/getting-started/introduction/ not /documentation/introduction/ (redirects exist but paths moved).