Embracing simplicity in your code

Published on – 9 minute read

Before I start going into any details in this blog post, I want us to have the same definition of the meaning of "simplicity" and "simple" that I am referring to in this article. I have created many online video courses over the last couple of years, have given on-site trainings…

Read more

Customizing Ignition with custom solutions

Published on – 3 minute read

Last Friday, my friend Freek Van der Herten and I announced two big projects that we've been working on for the last 8 months.

Flare - an error tracker built specifically for Laravel. You can find out all about it in our extensive blogpost and get on the early access list on the Flare homepage.

And Ignition a beautiful error page for your Laravel applications. It becomes the default error page in Laravel 6.

Read more

Catching incoming emails in your Laravel application with Laravel Mailbox

Published on

While working on a client project over the last couple of weeks, one of the requested features was the ability to fetch incoming emails in the Laravel application. Using services such as Mailgun or Sendgrid, this is perfectly possible, since they offer support for webhooks where they send you either the raw email content, or a parsed version of it so that you can process the message.

Read more

Polishing your code

Published on – 9 minute read

While preparing content for my upcoming PHP Package Development video course I discovered that over the last couple of years I spend more and more time polishing my code before shipping it.

And I believe that this is something that is just as important as the actual coding itself.

Let me talk you through some of the adjustments that I try to make, while working on my codebase and how this can hopefully affect your way of writing good and readable code.

Read more

2018 - my year in review

Published on – 10 minute read

As a lot of other people have started to post their write-ups on how 2018 went for them, I want to join them and tell you a little about what happened to me throughout the last 12 months. I think this is also a great way for me to recap what I have achieved over the last year. So here we go.…

Read more

Finding N+1 Queries in Laravel

Published on – 4 minute read

Using Laravel's Eloquent Active-Record, it becomes incredibly easy to define relations between your models. But with all this ease of use, developers might not notice that their application could be suffering in terms of performance, because of underlying database calls. To give you a better…

Read more

Introducing Laravel Dusk Dashboard

Published on – 10 minute read

Laravel Dusk Dashboard is a Laravel package that gives you a beautiful Dashboard for your Dusk test suites. It completely visualizes the individual steps that are involved when your Dusk tests are running, as well as DOM snapshots for each individual step. This makes it super useful when trying to debug your browser tests and to figure out what they are doing in the background. You can also make use of your browsers debug tools to inspect the DOM snapshots.

Read more

PHP Package Design

Published on – 11 minute read

Over the 7 years I have writte a lot of open- and closed-source packages in various programming languages. Most of them were written in PHP, but I've also spent a couple of years writing Objective-C and Java packages. But the days that I've written Objective-C or Java are long gone, so this post will focus on PHP. But most of the techniques and design principles can also be applied to any other programming language.

Read more

Visual Regression Testing with Laravel

Published on – 2 minute read

I'm not sure how you feel, but I consider myself a backend developer. Sure - I know my way around Vue.JS and really enjoy working with it, but writing CSS has never been my strong point.

At one of our companies recent projects, we are working together with another development team, which is mostly taking care of frontend development. So we build controllers, repositories, services, etc. and hand it over to some basic views. They handle the rest.

We introduced continuous integration to them and showed them our usual workflow, when I thought that it would be excellent to also have some kind of visual CI for frontend changes.

That's what this package is all about.

Read more

Use the Telegram login widget

Published on – 3 minute read

Yesterday Telegram announced a Login Widget, which allows you to add a "Login with Telegram" button on your website. By clicking on this login button, the user needs to input there phone number and instantly receive a confirmation message from Telegram. Upon confirming the login, you - as…

Read more

2017 - A PHP year in review

Published on – 3 minute read

It's this time of the year again - the end of the year is coming up fast, so why not step back and take a look at what we, as a PHP community, have achieved this year? For these statistics, I used the free GitHub Archive data in combination with Google BigQuery, which lets you process 1TB of data…

Read more

Create custom, distributable web components with VueJS

Published on – 4 minute read

I am currently in the middle of working on a new BotMan feature - a frontend widget that you can embed into your website to make it easier to connect your website visitors with your own self-hosted chatbot solution. The backend / PHP side is already working and leverages the BotMan web driver, which is basically just an API that you can use to interact with your chatbot.

Read more

Speed up the Laravel Baum package

Published on – 2 minute read

Here's a quick tipp, if you happen to use the Laravel Baum package and you have large nested structures. In my case, we have a hierarchy of over 1000 entries that we need to display as a JSON / Array structure. The whole API call used to take nearly 7 seconds - so I began some detective work and…

Read more

Laravel TestTools

Published on – 2 minute read

Testing a Laravel application really is an easy task - the "Integrated" package from Jeffrey Way, that later got merged into the core framework is fantastic and helps you with the otherwise cumbersome task of testing and interacting with your application. But still - are you actually using tests?

Read more