PHP code example of rasmusgodske / flashbeep

1. Go to this page and download the library: Download rasmusgodske/flashbeep library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

rasmusgodske / flashbeep example snippets




return [
  // The session key to access the flash messages eg. session('flash_messages')
  'session_key' => 'flash_messages',

  // Different presets for flash messages used with the flashMessage() helper
  'presets' => [
    'success' => RasmusGodske\FlashBeep\PresetMessages\SuccessFlash::class,
    'info' => RasmusGodske\FlashBeep\PresetMessages\InfoFlash::class,
    'warn' => RasmusGodske\FlashBeep\PresetMessages\WarnFlash::class,
    'danger' => RasmusGodske\FlashBeep\PresetMessages\DangerFlash::class,
  ]
];

public function store(Request $request)
{
  // Using named parameters
  flashMessage('info', [
      'summary' => 'Welcome',
      'detail' => 'Thanks for visiting our site!',
  ]);

  // Using positional parameters
  flashMessage('success', [
    'Operation successful',
    'Your request was processed successfully.'
  ]);

  // Directly passing an instance of a FlashMessageInterface
  flashMessageObj(new InfoFlash('Welcome', 'Thanks for visiting our site!'));

  return redirect()->route('home');
}


// Using the default preset MessageFlashMessage
class InfoFlash extends AbstractFlashMessage
{
    public function __construct(string $summary, ?string $detail=null)
    {
        $this->addAttribute('severity', 'info');
        $this->addAttribute('summary', $summary);
        $this->addAttribute('detail', $detail);
    }
}

// Add a message to the session
flashMessageObj(new InfoFlash('Welcome', 'Thanks for visiting our site!'));

// Get the messages from the session
$messages = getFlashMessages();

// Messages would be equal to:
$messages = [
  [
    "severity" => "info"
    "summary" => "Welcome",
    "detail" => "Thanks for visiting our site!",
  ]
]

class HandleInertiaRequests extends Middleware
{
    public function share(Request $request)
    {
        return array_merge(parent::share($request), [
            'flashMessages' => getFlashMessages(),
        ]);
    }
}



namespace App\FlashMessages;

use RasmusGodske\FlashBeep\FlashMessage\AbstractFlashMessage;

class MyInfoFlash extends AbstractFlashMessage
{
    public function __construct(string $summary, ?string $detail=null)
    {
        $this->addAttribute('severity', 'info');
        $this->addAttribute('summary', $summary);
        $this->addAttribute('detail', $detail);
    }
}

return [
    'session_key' => 'flash_messages',
    'presets' => [
        'info' => App\FlashMessages\MyInfoFlash::class, // <-- Add your custom message type here
    ],
];

public function store(Request $request)
{
  flashMessage('info', [
      'summary' => 'Welcome',
      'detail' => 'Thanks for visiting our site!',
  ]);

  return redirect()->route('home');
}

public function store(Request $request)
{
  flashMessageObj(new MyInfoFlash('Welcome', 'Thanks for visiting our site!'));

  return redirect()->route('home');
}
bash
php artisan vendor:publish --provider="RasmusGodske\FlashBeep\FlashServiceProvider"