Skip to content

Latest commit

 

History

History
78 lines (61 loc) · 1.8 KB

File metadata and controls

78 lines (61 loc) · 1.8 KB
permalink /inertia/
redirect_from /docs/framework/inertia/
title Inertia
description Easily add flash notification messages to your Inertia application with PHPFlasher. Follow our step-by-step guide to install and use the library in your project, and start engaging and informing your users with powerful flash messages.

PHPFlasher offers a solid integration with Inertia.js

Installation

Please follow the same installation steps as for the Laravel Installation package.

You have also to install @flasher/flasher from npm.

npm i @flasher/flasher

Usage

Dispatch notifications from your HandleInertiaRequests middleware shared data.

<?php
// app/Http/Middleware/HandleInertiaRequests.php

class HandleInertiaRequests extends Middleware
{
    public function share(Request $request): array
    {
        return array_merge(parent::share($request), [
            'messages' => flash()->render('json'),
        ]);
    }
}

Then render your notifications from your Layout.vue file like the following:

// resources/js/Shared/Layout.vue
<script>
import flasher from "@flasher/flasher";

export default {
  props: {
    messages: Object,
  },
  watch: {
    messages(value) {
      flasher.render(value);
    }
  }
}
</script>

All you have to do now, is to trigger you notification from anywhere in your application.

<?php
// app/Http/Controllers/UsersController.php
class UsersController
{
    public function store()
    {
        // your saving logic
        
        flash()->addSuccess('User created.');
        
        return Redirect::route('users');
    }
}