Laravel: Dealing with Alerts

I just made a package to deal with them.

A simple alert package— check it out!

Some months ago, I needed to add some kind of alerts from the backend to the frontend, like “Your Podcast #4 is being processed and will be available shortly”. As you may know, doing this is not very expressive since there are no mechanisms in place to do that.

The usual dev would flash that message into the session, and then rescue that in the view. This works well, until you need to manage something more than a message, like its presentational state, or dynamically add more than one alert from different parts of the application.

So I decided to make a package to deal with these fallouts.

Making alerts, one at a time

Well, it’s not a miracle per-se, but since making alerts became very cumbersome to me:

I made this package to avoid just that. Instead of pushing something from the backend in a very-verbose-way, I just add an expressive one-liner. It’s compatible with Bootstrap 4, but is framework-agnostic since it has a view you can override with your own HTML.

I like things working out-of-the-box and I think this accomplishes that. Just after installing the package you can go straight to deal with your Alerts. For example, let’s say we need to add two in the controller. No problem:

public function upload(Request $request)
{
$request->validate([
'podcast' => 'mimetypes:audio/mp3'
]);
$podcast = Podcast::parse($request->podcast); alert_if($podcast->length > 30, trans('podcast.large')
->warning();
alert()->lang('podcast.uploaded', ['podcast' => $podcast])
->success();
return view('podcast.uploaded', [
'podcast' => $podcast,
]);
}

And also, if you like Bootstrap 4 toast notifications, you can edit the HTML used to render the alerts. I personally don’t use toast notifications except for when you’re using some kind of real-time functionality were you don’t need to refresh the page.

Give it a chance and tell me what do you think.

Graphic Designer graduate. Full Stack Web Developer. Retired Tech & Gaming Editor.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store