If you find PHPFlasher useful, we would greatly appreciate your support in the form of a star rating ⭐ on GitHub or by sharing the project on Twitter click here. Your feedback helps us keep the package up-to-date and well-maintained. Thank you
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([], 'array'),
]);
}
}
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');
}
}