No release, weekly updates, and 🔥 tip

No release

No release this week with most of the team being out.

A reminder subscribers to a Shifty Plan automatically receive a PR bumping Laravel, as well as other packages, anytime there is a new release.

This automation is a nice way to stay up-to-date and periodically kick-off your CI builds. However, they're really just a bonus for subscribers. The main value of a Shifty Plan are the included Shifts, access to the Workbench, and webhooks.

Weekly Journal

Last week I continued to make some tweaks to both Shift and laravelshift.com. All of which are now in production.

While working on the abandoned cart emails, I was doing a lot of date math. This led me to the idea of adding some expressive wherePast and whereFuture query builder methods.

So Thursday I did a quick live stream to develop these and ultimately opened a PR. We'll see if it gets merged.

Friday (and over the weekend cause I got excited) I hacked on a quick task for the Workbench. I didn't plan on building this task. I really just wanted to see if I could do such a refactor with Shift. Anyway, more on the actual task below, but I deployed it to the cloud-based Workbench yesterday and an in-app update today.

With the rest of the week I will update the additional Laravel Shifts to require Laravel 9. This is to not only push the community forward, but also lower the maintenance required to support older (now dead) versions of Laravel.

🔥 Tip

Here's some more back-story on this new Workbench task. A few years ago Jess starting using the abort_if and throw_if helpers within the laravelshift.com code base.

I didn't really like them at first. But late last year, I actually used one. Then, last week, I saw this tweet. The comments which ensued seemed to followed my same path: dislike, try it, try it again, always use it.

Anyway, I've grown pretty fond of these helpers. I like them especially for simple conditions, such as:

if (is_null($subscription)) {
abort(403);
}

As I discuss in BaseCode, I don't believe one-linters immediately make code more readable.

But within the context of Laravel, which commonly uses helper functions, I do believe they can be:

abort_if(is_null($subscription), 403);

So, that's what the new "Adopt if helpers" task does. 🔥