Hi! I'm Pascal Baljet and I write about Laravel and Inertia.js 👋

I'm the owner of the software company Protone Media and a big open-source enthusiast. I build Inertia UI and many other Laravel packages, which have over 4 million downloads.

Vue 3.5 Released: New features and improvements

Vue 3.5 has just dropped this week, and it's packed with some nice features and improvements. I have been digging through the release notes and playing around with the new features, so let me glance over the highlights! Up until now, you could use toRef() to destructure props reactively. But in Vue...

Thoughts on Splade: I took a week off to look around and reflect.

In the summer of 2022, I took a month off from work as our daughter was born. Before leaving, I worked mainly on Inertia projects, but I also had a huge Laravel project built with Blade and some Vue components. I had already released some Laravel packages, but wanted to do something different after...

Build Laravel apps even faster with the Jetstream Starter Kit for Laravel Splade

It's been a while since I blogged about Laravel Splade, but a lot has happened since the last blog post. Splade is gaining traction, and usage numbers are increasing! Many already use it to build their projects, leading to many feature requests and bug and support tickets. Thanks everybody for provi...

Create beautiful Open Graph images with Browsershot and Tailwind CSS

For Artisan School, I wanted to create custom Open Graph images for each video page. For example, when somebody shares a link on social media, platforms like Facebook and Twitter use the OG image to represent the shared link. There are many services to create and serve OG images, but I didn't want t...

A package for Laravel Dusk to wait for Inertia.js events

Today marks the release of another Laravel + Inertia.js package, this time a small one compared to last week's Tables package. This new package provides helper methods for Laravel Dusk that you can use to wait for specific Inertia.js events to fire. Dusk is a first-party Laravel package that lets yo...

Encrypted HLS with Laravel FFMpeg: Protect your videos with AES-128 Encryption

The Laravel FFmpeg package has supported HLS for over four years. It's a fantastic protocol to provide on-demand, adaptive streaming. Initially developed by Apple in the early days of iOS, it is now the most popular streaming format, and it works on Android and virtually every other browser as well....

Laravel FFMpeg now supports watermarks out-of-the-box

Today a new version of Laravel FFMpeg has been released: version 7.3. It now has support for watermark built-in! You can add watermarks from your local or remote storage or even from the web. Positioning is easy. You can position it in a CSS-way, or you can use the built-in position constants. Let's...

Laravel Form Components to rapidly build forms with Tailwind CSS and Bootstrap 4

I've always been a big fan of the Bootstrap framework, from the first version on. It's a great way to rapidly build interfaces and prototypes. These days we've mostly moved away from it towards Tailwind CSS, but it's still a great framework. Adam Wathan, the creator of the Tailwind framework, had a...

Learn what's new in Laravel 8.0

The next version of the Laravel framework, version 8.0, is planned for September 8th. It's packed with new features and improvements! As we're getting close to the release, it becomes clearer which PRs got merged. Some of the new stuff will be unveiled later on, probably at Laracon in late August. I...

Search through multiple Eloquent models with our latest Laravel package

There are many ways to add search functionality to your Laravel project. You can use the Query Builder, use the official Scout package to integrate with Algolia or use a third-party package like Spatie's laravel-searchable. Today we're introducing a new package to perform cross model, in-database se...

Tracking events with Google Analytics and a new Laravel package

Yesterday I posted a tweet about a Google Analytics implementation I was working on. It was based on a Event/Listener solution using Laravel. The tweet quickly gained traction and one day later it was liked more than 170 times and I was encouraged to build a package out of it! Here we are, introduci...

New features and changes in the upcoming Laravel 7.0 release

We are just a few weeks away from the Laravel 7 release, so I've put together a list of some important new features and changes. Of course this is not everything but it is a brief overview of some of the new stuff. Please note that Laravel 5.8 will not receive security updates after February 26, 202...

A new Laravel package to handle payments and subscriptions with Paddle

Yesterday we've released a new package to use the Paddle.com API and webhooks in a Laravel app. Paddle is not just a payment provider like Stripe, they actually take care of handling taxes around the world which is a big deal when running a SaaS. Besides the regular VAT you have to handle in the EU,...

Introducting the Tappable trait to use 'tap' with any class

As you might know, the Laravel framework comes with a handy tap method which allows you to call the given closure with the given value and then return the value. Sounds confusing? It probably is until you've seen it! Let's take a look at this example: Lately we've used a Tappable trait in one of our...

Introducing a new Laravel package: API Health

Today we are releasing a new Laravel package! It's a toolbox for monitoring first and third-party services and APIs, it keeps you notified about services going down (and up!). Out of the box it supports checking HTTP endpoints and verifying SSL certificates and the package allows you to generate you...

Mixing the Laravel 5.4+ HTTP testing layer with BrowserKit testing

Laravel 5.4 (January, 2017) came with the introduction of Laravel Dusk, a first-party package with support for browser automation and a corresponding testing API. The HTTP testing layer got rewritten and became much more focussed on APIs from Laravel 5.4 onwards. Some of the HTTP testing tools were...

How to use FFmpeg in your Laravel projects

After some issues that got opened on GitHub I decided to write a blogpost on the Laravel FFmpeg package we created. We use this package ourselves in three different production environments. The example below is not taken from one of these projects but the goal is to give you a sense of what you coul...

Read the full changelog of the upcoming Laravel 5.5 LTS release

The next version of Laravel, which is a LTS release, will be released during and shortly after Laracon EU 2017. Laravel News has published some great articles of changes and new features in the framework. These are some of my personal favourites: Besides the Laravel News articles you can also read t...

Convert accented characters with a Laravel helper function

Besides the famous Collection class that Laravel provides it also has a Str class that has lots of great functions to work with strings. Some of these functions are available through helper functions and others you have to find in the API documentation. Last week we were working with a third party A...

Setup MailHog with Laravel Valet

As you might know, Laravel Valet makes it super easy to do development on your Mac. For Laravel there are some great packages to handle mail testing such as MailThief and Laravel Mail Preview Driver. You could also use a online service like Mailtrap to do mail testing. Another option I want to discu...

Working with the Validator instance in Form Requests

One undocumented gem I found today in the Laravel Framework is the withValidator method on a FormRequest class. If this method exists on your request class, this method gets called with the Validator instance as first argument. It allows you to interact with the validator instance before the actual...

What to expect from Laravel in 2017

The release of version 5.4 of the Laravel Framework is expected to be released in the next few weeks. Some exiting new features, enhancements and changes are coming! Here's a short overview of what to expect. New features Enhancements Changes The release of Laravel 5.5 is expected in July and will r...

A brief overview of the Laravel Ecosystem

Besides the framework itself, the Laravel brand has much more to offer. There are development environments, optional packages and services that help you get your projects online. Along with some rebranding that was announced, I'd like to give an overview of the Laravel ecosystem. Of course there is...

Composer 1.3.0 is now released

Jordi Boggiano, co-founder of Packagist and lead developer of Composer, announced the release of version 1.3.0 of Composer. It has some great new features and added a workaround for the performance impact that is caused by running PHP with Xdebug enabled. Composer can update itself by running the se...

Format monetary values by using a Money library and Laravel Blade directives

For a project which has to deal with prices, we decided to use the PHP Money library. It is an implementation of Fowler's Money pattern and has great features and no dependencies. Most important, you shouldn't represent (and store) monetary values by a float. It takes away the problem of rounding er...

Toggle Xdebug on macOS from the terminal

When you have the Xdebug extension for PHP installed and enabled, most of your PHP code will run notably slower. A little helper tool called 'Xdebug Toggler for OSX' provides an easy way to quickly enable or disable Xdebug from the terminal: You can find the source code on GitHub and installing it i...

Hyper: a cross-platform terminal built on JS/HTML/CSS

Recently a team of nearly 100 developers released version 1.0 of Hyper, an open-source terminal based on web technologies that runs on Linux, macOS and Windows. The development team focused on speed and extensibility. It can easily be styled with themes and extensions are universal Node.js modules w...

Stay up to date

I have a newsletter where I share updates on Laravel, Inertia, and my packages.