php-forge/inertia
| Install | |
|---|---|
composer require php-forge/inertia |
|
| PHP: | >=8.3 |
| License: | BSD-3-Clause |
| Last Updated: | Aug 22, 2026 |
| Links: | GitHub · Packagist |
Features
Installation
composer require php-forge/inertia:^0.1
PHP 8.3 or later and the JSON extension are required.
Quick start
use PHPForge\Inertia\{PageInput, Protocol, RequestContext};
use PHPForge\Inertia\Prop\Prop;
$request = new RequestContext(
method: 'GET',
url: '/users?page=1',
absoluteUrl: 'https://example.com/users?page=1',
headers: [
'X-Inertia' => 'true',
'X-Inertia-Version' => 'assets-v1',
],
);
$result = (new Protocol())
->page(
$request,
new PageInput(
component: 'Users/Index',
props: [
'users' => Prop::merge(fn (): array => loadUsers())->append('data', 'id'),
'analytics' => Prop::defer(fn (): array => loadAnalytics(), group: 'analytics'),
'filters' => Prop::optional(fn (): array => availableFilters()),
],
version: 'assets-v1',
sharedProps: [
'auth' => Prop::once(fn (): array => currentUser())->as('authenticated-user'),
],
errors: validationErrors(),
flash: flashedData(),
),
);
Protocol does not return a framework response. An adapter inspects the result, applies statusCode() and headers(),
serializes page() for an Inertia visit, or embeds the page JSON in the root HTML document for an initial visit.
Adapter boundary
The core owns protocol decisions and page shaping. A framework adapter remains responsible for:
- extracting the method, relative URL, absolute URL, and supported request headers;
- resolving shared props, validation errors, flash data, and the asset version;
- rendering the root HTML document and embedding the initial page JSON;
- translating neutral results into its HTTP response implementation;
- managing sessions, flash persistence or reflashing, redirects, routes, CSRF, and asset tooling;
- JSON encoding the final page with the framework application's selected flags.
See the configuration reference for the complete result mapping.
Documentation
- Installation guide
- Configuration and adapter reference
- Usage examples
- Testing guide
- Inertia.js protocol documentation
Package information
Code quality
Social networks
License
Related Packages
Laravel Localizer bridges Laravel translations to your SPA frontend (React/Vue/I...
Inertia.js server-side adapter for PHP. Handles full visits, Inertia XHR visits,...
Yii2 adapter for the framework-agnostic Inertia.js PHP protocol core.
PHPFlasher - A powerful & easy-to-use package for adding flash messages to Larav...
Vireo Framework application starter template with Vertical Slice Architecture an...