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