Documentation

Everything you need to build versioned JSON APIs with Pionia v3.

The example app: DeskFlow

Hands-on pages follow one fictional product so names stay consistent:

  • Northwind Studio — a made-up digital agency (not a real company)
  • DeskFlow — their internal task board API; you build it in the tutorial
  • deskflow-api — the Composer project name used in commands

Requires PHP 8.5+. Tutorial services: task, member, project. Sample login: alex@northwind.studio.

Pick your learning path

Getting started

Install Pionia and meet DeskFlow.

DeskFlow tutorial

15 steps — scaffold through deploy.

Browse examples

Copy-paste curl payloads and JSON envelopes.

First steps

New to PHP or Pionia? Start here — tutorial comes after install.

OrderGuideDescription
1IntroductionInstall with Composer, first ping, meet DeskFlow
2PHP basicsMinimum PHP (optional)
3DeskFlow tutorialBuild the task board API step by step
4Glossaryservice, action, switch, envelope

How the documentation is organized

TypeReader goalExamples
TutorialsHands-on; build DeskFlow step by stepAPI tutorial
Topic guidesUnderstand conceptsMoonlight overview, Auth
ReferenceLook up APIs and configHelpers, Porm API
How-to guidesOne task, one recipeRoadRunner, Maintenance

What these docs cover

LayerTopics
Getting startedComposer install, PHP basics, DeskFlow tutorial, app structure, v3 changelog
Building your APIMoonlight, services, actions, validation, generic CRUD, API docs
Database (Porm)Configuration, queries, filtering, joins, pagination, connections
HTTPEnvelopes, middleware, exceptions, routing, collections
SecurityAuthentication backends, JWT, authorization in services
FrontendVite SPA scaffold, dev proxy, production build
OperationsCLI, RoadRunner, caching, logging, maintenance, production optimize
ExtendingApp providers, Composer packages, helpers, maintainer notes

The API layer

Services · Actions · Validation · Generic services · Moonlight overview · Documenting your API

The data layer (Porm)

Getting started · Making queries · Filtering · Joins · Pagination

The HTTP layer

Requests & responses · Middleware · Exceptions · Routing

Security

Authentication · Security utilities

Frontend & operations

Vite integration · RoadRunner · Production performance · CLI · Caching · Logging

Extending Pionia

App providers · Composer packages · Maintainer notes

Getting help

  • Common mistakes — each guide ends with a troubleshooting section
  • Logsstorage/logs/ with DEBUG=true in .env
  • Examplescurl snippets for DeskFlow actions
  • Resourcespackages, CLI, and links

Community

Common mistakes

  • Starting with advanced topics — follow IntroductionDeskFlow tutorial before auth or RoadRunner.
  • Skipping the glossary — terms like switch, envelope, and action are defined in Glossary.
  • Using maintainer commandsphp pionia new is for framework contributors only; apps install via composer create-project pionia/pionia-app.
  • Old flat URLs — bookmark /documentation/getting-started/introduction/ not /documentation/introduction/ (redirects exist but paths moved).