Title here
Summary here
You are extending Pionia Shop beyond inline Application\ code — publishing a reusable Composer package, registering an AppProvider for middleware and routes, or looking up global helpers like response() and table().
AppProvider in settings.ini or bootstrap/application.phpcomposer create-project pionia/pionia-app or Pionia Shop from the API tutorial)[app_switches] in settings.iniMost teams extend Pionia in two ways:
Application\ in your repo.flowchart LR App[Pionia Shop app] --> Code[Application services] App --> Pkg[Composer package] Pkg --> Plugin[Plain plugin class] Pkg --> Prov[Provider subclass] Prov --> Boot[middlewares routes commands] App --> AP[AppProvider in settings.ini] AP --> Boot
| Guide | Audience |
|---|---|
| Composer packages | Package authors (plugins + providers) |
| App providers | Provider hook reference and registration |
| Helpers | Global shortcuts (response(), table(), logger()) |
| Maintainer notes | PioniaCore contributors only |
Start with Composer packages if you are publishing to Packagist. Use App providers when you need the full hook list and boot order.
AppProvider — helpers like logger() are not available before AppRealm::create() returnsv2) in a package routes() — collides with the host app’s switchesphp pionia cache:clear after removing a provider from [app_providers]require instead of suggest — breaks minimal installsShip plugins and providers on Packagist.
Full hook list and boot order.
response(), table(), logger(), and more.