ebess/laravel-inertia-shared-data-provider

为 Laravel 中的 inertia js 应用提供共享数据

1.0.0 2021-11-04 16:19 UTC

This package is auto-updated.

Last update: 2024-09-04 22:32:06 UTC


README

此包使您轻松共享 inertia 数据。

安装

通过 composer 安装

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

在 inertia 请求中间件之前添加中间件

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

用法

实现共享数据提供者

use Ebess\LaravelInertiaSharedDataProvider\Contracts\InertiaSharedDataProvider;

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

标记提供者

use Ebess\LaravelInertiaSharedDataProvider\Contracts\InertiaSharedDataProvider;

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

在前端使用共享数据

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