Looking to hire Laravel developers? Try LaraJobs

laravel-inertia-shared-data-provider maintained by ebess

Description
Provide shared data to inertia js application in laravel
Author
Last update
2021/11/04 17:19 (dev-master)
License
Links
Downloads
4

Comments
comments powered by Disqus

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>