D2S Development

0 %
David Birkin
Full Stack Web Developer
Laravel Enthusiast
  • Residence:
    Florida
  • City:
    Port Saint Lucie
  • Age:
    35
English
Team Skills
People Skills
PHP
Laravel
HTML
Tailwind
JavaScript
DRY Principles
Wordpress
SOLID Principles
Database Design
  • Bootstrap, Material UI, MaryUI
  • TailwindCSS
  • Sass, Boostrap 4+
  • Webpack, Vite
  • Git / Software Versioning
  • Livewire, AlpineJS

Laravel Herd Pro: A guide to Pro Features

02/10/2024

With the exciting Laracon EU behind us, one of the new feature drops that was demoed was Laravel Herd: Pro. As a Laravel artisan and enthusiast, it took me all but 10 seconds to sign up to get all of the new features that come with Pro. There is something special about having an abundance of tools at your disposal, all within the same application. It makes development much more simplistic if you only have ti reach for one place. The new features that are released with Herd Pro are;

  • Dumps
  • Mail
  • Logs

Dumps

Dumps is one of the features I am super excited about, until now, I had been using Spatie’s Ray. Whilst I don’t think dumps will completely replace Ray, it certainly will be my primary dump reporter going forward. Lets take this code snippet that gets the highest bids for a single user and dump it out

public function index()
{
    $bids = DB::table('max_bids')
       ->select('user_id', 'item_id', DB::raw('MAX(amount) as max_bid'))
       ->where('user_id', 1)
       ->groupBy('user_id', 'item_id')
       ->get();


    dump($bids);
}

With this code, the final dump() at the end of the function will dump out all of the returned data into Herd. You can see this below. We have the timestamp, the filename, what I am most excited about the line number where the dump came from and most importantly, the data from query.

The interface also has a few icons at the top. One that looks like an antenna will fade in and out to let you know Herd is listening for dd() or dumps() in your application, the trashcan will clear the GUI of all exiting dumps and data, and thirdly, the pin icon will keep the Herd UI on top of all other windows.

Mail

The second exciting feature is email. Previously, you may have seen an article I wrote about how to use mailtrap.io as a developer inbox to test emails to ensure formatting was correct. Well, Herd pro now has mail functionality that is insanely easy to use. All you need to do is update your environment file to have the following details.

Once you have these values in your environment file and you clear your config with php artisan optimize:clear you just need to send an email and it’ll appear right in your Herd GUI. This is an email asking for user Verification for an recent application I released called Licenex. In the GUI you will also notice a drop down at the top next to the trash can. This is where you can filter emails by project. It’s super handy having a tool, that splits out emails by projects, so you never have to guess which email is which again.

Logs

Herd also introduces an exciting feature being the Log Viewer! The log viewer is broken out by project, error, and files. If you use daily laravel log files, Herd is able to detect this and list all of the daily log files for you too. As you can see below, the log viewer is split into 3 parts. The list of errors, the view the error is happening on (or sub-component) and finally, the stacktrace.

This makes tracing errors, in real time, a very smooth and sleek experience. It’s definitely much better than going into the storage directory and looking for the log file and scrolling through it until you find the offending stack trace.

XDebug Integration

This is another tool that Herd Pro introduces. Whilst XDebug is something I do not use myself when developing with Laravel, it’s a super powerful debugger that other people prefer. For more information on the XDebug integration I can direct you to the docs here; https://herd.laravel.com/docs/1/advanced-usage/xdebug

Closing Words

With Laravel Herd being a phenominal all in one tool, not only for setting up a development suite, but also providing all the tools to make your Developer Experience that much better, It is definitely something people should consider looking at as a Developer. Whilst it is Mac OS only at the moment, Marcel from BeyondCode has confirmed it will be on Windows in a very short time which is also super exciting.

The Laravel Ecosystem and supporting tools are ever growing and it’s nice to see Herd implementing all of these useful functionalities.

Posted in Laravel, Technology, Testing, Tools, Website Development
2 Comments
  • Dclay

    The bigger problem is will Herd be maintained. BeyondCode has a reputation, a well known one. You only have to browse the Laravel Subreddit and search for their name (and dont dismiss Reddit like Laravel devs love to do on Twitter, the Laravel subreddit has 80k users, not everyone over there is a child).

    Herd’s alredy building up a sizable issue list with bugs, and with BeyondCode abandoning so many projects, leaving people with no ability to contribute at all (and yes, there have been people who’ve tried, theres countless PR’s open on their repos that are being ignored) it makes you wonder whats going to be different this time.

    I’d be interested in seeing a follow up review in 6 months to see how things are going. Maybe this time it will be different, and I genuinely hope it is.

    5:15 pm 02/10/2024
    • I would be genuinely interested to see how this pans out. I was slightly taken back that the Herd Pro features are a “You must subscribe each year” and not recurring. Fingers crossed it is maintained, because I think it’s going to be super useful to how Laravel developers work. I will for sure look to review this in the future and see if your concerns indeed come true.

      7:19 pm 02/10/2024

Comments are closed.