Skip to content

ebess/laravel-inertia-shared-data-provider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ebess/laravel-inertia-shared-data-provider

This package enables you to share inertia data easy.

Installation

Install via composer

composer require ebess/laravel-inertia-shared-data-provider

Add middleware before the inertia request middleware

    protected $middlewareGroups = [
        'web' => [
            // ...
            \Ebess\LaravelInertiaSharedDataProvider\Http\Middleware\InertiaSharedData::class,
            \App\Http\Middleware\HandleInertiaRequests::class,
        ],
    ];

Usage

Implement shared data provider

use Ebess\LaravelInertiaSharedDataProvider\Contracts\InertiaSharedDataProvider;

class FooBarSharedDataProvider implements InertiaSharedDataProvider
{
    public function provide(Request $request): array
    {
        return [
            'foo' => 'bar',
        ];
    }
}

Tag the provider

use Ebess\LaravelInertiaSharedDataProvider\Contracts\InertiaSharedDataProvider;

class AppServiceProvider extends ServiceProvider
{
    public function register()
    {
        $this->app->tag(
            FooBarSharedDataProvider::class,
            InertiaSharedDataProvider::TAG_NAME
        );
    }
}

Use shared data in frontend

<template>
    <div>shared data: {{ $page.props.foo }}</div>
</template>

About

Provide shared data to inertia js application in laravel

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages