Configuring PhpStorms code generation original

by Freek Van der Herten – 4 minute read

I've been using PhpStorm for quite some time now, but never took the effort to fix a few minor annoyances I had with it. Getting rid of the default comment for new PHP files First up, when creating a new PHP file or class you PhpStorm will add this comment block like this by default: /** * Created…

Read more

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.

Failing gracefully on stage original

by Freek Van der Herten – 1 minute read

Here's a video of Surma having technical problems while presenting his State of Houdini talk. Luckily Jake Archibald and others "help" him out ? No matter how well you prepare a talk, you can always have technical difficulties. If you handle the failure gracefully, the public won't mind.…

Read more

A better way to register routes in Laravel original

by Freek Van der Herten – 3 minute read

Let's take a look at how you can define routes to controllers in Laravel. By default you can do it like this: Route::get('my-route', 'MyController@index'); This will look for the MyController class in the App\Http\Controllers namespace. This default namespace is set up in Laravel's…

Read more

How PHP conferences can be improved original

by Freek Van der Herten – 10 minute read

The past few years I visited and spoke at a lot of PHP conferences. PHP Benelux, Laracon EU and US, PHP UK Conference, PHP World are only a few of the conferences I thoroughly enjoyed. Visiting those conferences can be recommended to anyone interested in PHP. Regardless of which level you're at…

Read more

Loading Eloquent relationship counts

timacdonald.me

There are three ways of loading relationships in Laravel. Tim MacDonald, a freelance dev based in Sydney, explains them all.

It is often useful to show the number of related models a given instance has, but not actually need any specific information about the related models, just how many exist. In this scenario you do not want to load all of the related models into memory to count them, we want our database to do the heavy lifting for us. Laravel offers a number of ways to retrieve relationship counts.

Read more [timacdonald.me]

Calling an invokable in an instance variable original

by Freek Van der Herten – 2 minute read

Invokables in PHP are classes that you can use as a function. They have been around since PHP 5.3 and have many interesting use cases. Here's a quick example. class Invokable { public function __invoke() { echo 'I have been invoked'; } } You can use it like this: // outputs 'I have been…

Read more

Using v-model on Nested Vue Components

zaengle.com

Woodworker/developer Jesse Schutt clearly explains how to use v-model properly on nested components.

Building a custom component that operates on chunks of data is easier than you may think. It involves understanding how Vue handles the input/update cycle and making a few changes to your component. Let’s start by taking a look at one approach for turning a standard component into a “controlled” component and then figure out how to nest them.

Read more [zaengle.com]

Are you sure you need entrust or laravel-permission to implement your authorization?

adelf.pro

Some solid advice from Adel Faiz: do not use a package for authorization unless you really need its functionalities. Laravel's default authorization capabilities are good enough for most use cases.

I don't want to say these packages are useless. They can be useful for projects which needs complicated authorization system, which should be customizable by customer later. Also some projects need dynamic permissions. For all other projects it's too heavy solution. Better to use simple code-based authorization.

Read more [adelf.pro]

Other people's setup

A couple of week ago I wrote a blogpost that contains all the software, hardware and settings I use. I've seen a couple of devs writing the same kind of post. Here are some of them:

Did you write down your setup as well? Post a link in the comments below! ?

Read more

Fixing Imagick's “not authorized” exception

alexvanderbist.com

The last couple of weeks soem strange Imagick errors popped up across all our servers. In a new blogpost my colleague Alex explains the cause and the fix.

Over the last few days we've had a couple of issues with Imagick and processing PDFs on our servers. As it turns out, these issues are caused by automatic security updates. Let's look into the issue and its solution.

Read more [alexvanderbist.com]

Automatic monitoring of Laravel Forge managed sites

ohdear.app

Oh Dear!, the monitoring service that my buddy Mattias and I run, now has the ability to auto import sites from Forge.

Forge recently introduced a feature called tags, whichs allows you to add custom tags to any server or site in Forge. We use those tags to determine which sites we should automatically add to your Oh Dear! Account. Every site or server tagged with oh-dear will be added. This allows you to still pick which sites should - or should not - get monitored.

Read more [ohdear.app]

ngrok, lvh.me and nip.io: A Trilogy for Local Development and Testing

nickjanetakis.com

Nick Janetakis shares three tools that come in handy when developing locally.

When developing real world applications you tend to run into certain road blocks such as:

  • How do I test webhooks locally?
  • How can I show a demo of my site to a client?
  • How can I develop a web app that uses subdomains on localhost?
  • How can I test Let’s Encrypt without a domain name? In this article, we’re going to cover all 4 use cases using 3 free tools and services.

Read more [nickjanetakis.com]

Why geeks should speak

justinjackson.ca

Justin Jackson wrote a cool post on the benefits of public speaking.

As a geek, there's one skill that's helped me level-up professionally more than anything else: public speaking. Whether it's doing product demos, presenting an idea to my team, or being on a podcast, it's a skill I benefit from every day. But the biggest opportunities have come from giving talks.

Read more [justinjackson.ca]

Making Nova fields translatable original

by Freek Van der Herten – 5 minute read

Laravel Nova is cool package to quickly create admin interfaces in a Laravel app. Unfortunately there's no support for multiple locales out of the box. A while ago we published a package called nova-translatable that makes any of the built in field types translatable. Using the package In order to…

Read more

Laravel Telescope: Data too long for column ‘content’

ma.ttias.be

Mattias explains a problem we recently encountered at Oh Dear with Telescope.

For Oh Dear!, we're using Laravel Telescope as a convenient way of tracking/displaying exceptions, runs, ... It stores its exceptions in the database, so you can easily view them again. It stores those in a TEXT field in MySQL, which is limited to 2^16 bytes, or 65536 bytes. Some of our exceptions tend to be pretty long, and they were hitting this limit.

Read more [ma.ttias.be]