Everything is Anything: The Unlikely Wisdom of Historical Stabbings
This talk given Ross Tuck at the exec(ut) conference is one of the best talks I ever saw. I highly recommend to sit comfortably and give it your full attention.
This talk given Ross Tuck at the exec(ut) conference is one of the best talks I ever saw. I highly recommend to sit comfortably and give it your full attention.
Before we moved in to our new offices in 2014, we quickly set up a temporary one-page website, initially only in Dutch. It lasted for 4 years and bursted out of its frames ever since, because… hmm … no priority, no time. A new site was like a running joke for a long time, until Laracon US 2018…
Join 9,500+ smart developers
Get my monthly newsletter with what I learn from running Spatie, building Oh Dear, and maintaining 300+ open source packages. Practical takes on Laravel, PHP, and AI that you can actually use.
No spam. Unsubscribe anytime. You can also follow me on X.
"Always fresh, useful tips and articles. Carefully selected community content. My favorite newsletter, which I look forward to every time."
For the first time in 4 years we completely redesigned our company website. We launched it today. The site is a simple Laravel app with some technical niceties. True to form we also open sourced the app, you can find the code in this repo on GitHub. In this blogpost I'd like you to give you a tour…
Marcel Pociot, serial open source creator, released another cool Laravel package.
When your Laravel project grows, so do the Laravel views. Sometimes it might be hard to figure out, which part of the output HTML was rendered using which template. With this package, you can take a peek into your Laravel views and find out which template is responsible for which part of the output HTML.
Read more [github.com]
Scott Helme, creator of both securityheaders.com and report-uri.com introduces a header to enable or disable certain APIs on a webpage.
Feature Policy is being created to allow site owners to enable and disable certain web platform features on their own pages and those they embed. Being able to restrict the features your site can use is really nice but being able to restrict features that sites you embed can use is an even better protection to have.
Read more [scotthelme.co.uk]
In another cool blogpost, Matthias Noback explains a few best practices around newing up objects, illustrated with some great examples.
Consider the following rule: "When you create an object, it should be complete, consistent and valid in one go." It is derived from the more general principle that it should not be possible for an object to exist in an inconsistent state. I think this is a very important rule, one that will gradually lead everyone from the swamps of those dreaded "anemic" domain models. However, the question still remains: what does all of this mean?
Read more [matthiasnoback.nl]
? Tip: the `abort` helper in @laravelphp can take any `Response` object!
— Joseph Silber (@joseph_silber) 19 juli 2018
Especially useful for redirection, since the `redirect` & `back` helpers only work in top-level controller methods.
When in a supporting method from which you can't `return`, use the `abort` helper ? pic.twitter.com/dFwhhXz211
Read more [twitter.com]
In most applications you store the state of the application in the database. If something needs to change you simply update values in a table. When using event sourcing you'll take a different approach. All changes to application state are stored as a series of events. The key benefit is that you…
A lesser-known @laravelphp feature: You can define your IDE/editor in your config/app.php file to let the Whoops error handler allow you to open files directly from within the error message. pic.twitter.com/My0BUjTIrM
— Marcel Pociot (@marcelpociot) 10 juli 2018
Read more [twitter.com]
Last week I stumbled upon this little search utility called Spot, by Guillermo Rauch of Zeit.
Read more [github.com]
Larry Garfield, director of developer experience at Platform.sh, published some interesting numbers on arrays vs classes.
The first thing we can conclude is that if the one and only thing you care about is serialization/deserialization performance, associative arrays still win. They're the most time efficient by more than 50%, and the most space efficient by up to 20%. The second thing we can conclude is that stdClass should be used basically never. It's slower and more memory intensive than arrays in every circumstance. Just don't go there.
Read more [steemit.com]
In an older post on his blog Mohammed Said, Laravel Employee #1, shares a cool trick on how to avoid having to create an event listener.
Instead of having to create a class for the listener and another for the notification/mailable, wouldn't it be cool if we can register the Notification/Mailable as an event listener? ... While some may consider this an anti-SRP hack I think it's a pretty neat implementation that you can use in your application to prevent creating an extra listener class, your call :)
Read more [themsaid.com]
Andrew Schmelyun collected some cool Eloquent niceties.
Over the last year or so, I’ve been collecting and (sometimes) tweeting about methods and helpers I’ve stumbled across in Laravel’s Eloquent ORM. Most of these aren’t that obvious in the documentation, but have made a huge impact as my applications have grown in both size and complexity.
Read more [medium.com]
?? Who knew, Laravel's string helper class can generate uuids - woot!
— Caleb Porzio (@calebporzio) July 5, 2018
If you care, here's my UUID model trait I use (the packages are too heavy handed for me) https://t.co/L8Il1sH5VA pic.twitter.com/K6OwkHKQBD
Read more [twitter.com]
Browsh is a small browser that you can run inside your terminal. If you don't want to install it locally, you can test is out by ssh'ing to it.
ssh brow.sh
Here's a screenshot of the https://www.brow.sh/ running in Browsh.

How cool is that! I don't see myself using this as my main browser soon, but it sure is a pretty cool project. It goes without saying that you should not type any sensitive data while using it via ssh.
Marcel Pociot created another great package. laravel-dump-server will transmit all output of dump calls to another port on your system. This will avoid cluttering up the responses of your app with debug output. Here's a gif taken from the readme of the package:
https://github.com/beyondcode/laravel-dump-server
The last few months I've been working on a package called laravel-event-projector. This package aims to be a simple and very pragmatic way to get started with event sourcing in Laravel. Ahead of it's release, which will happen in a few days, I've recorded a small video introduction. You can find the…
?♂️⏲️ Just found all these handy class constants in Carbon - woohoo! ? pic.twitter.com/pL0HeKGVx4
— Caleb Porzio (@calebporzio) 29 juni 2018
Read more [twitter.com]
Joseph Silber, a very active Laravel contributor, has written a new blogpost on morph maps, a feature to decouple your database from your model class names.
Polymorphic relations let you set up a relationship between many different model types, without the need for extra tables. This works by storing the "morphable type" (explained below) in the database, in addition to the morphable type's ID. By default, the morphable type stored in the database is the model's full class name. While this works, it tightly couples your database to your PHP application. Let's look at how we can instruct Eloquent to use more generic values for these morphable types.
Read more [josephsilber.com]
I often use Eloquent's `query` just to have the code better aligned#visualdebtisreal pic.twitter.com/0JWrzx6wEN
— Freek Van der Herten (@freekmurze) 2 juli 2018
Read more [twitter.com]