Recent posts in PHP

How to build a complete Mastodon API Client
Mastodon has an extensive API, but unfortunately no openapi spec. It was quite a challenge to build an API client and implement all methods and entities. Here's how I did it.

Smart generics in PHP
Type hinting in PHP8 has become powerful but it still has limitations. In this article I discuss some ways to use Generics to overcome some of these limitations.

Security tips and best practices for web developers
Security is hard. I compiled a list with tips and best practices that may be useful.

Using Sublime Text as a full featured PHP IDE
Sublime Text might look more like a text editor than an IDE, but looks can be deceiving. Read why I prefer Sublime Text above other editors and IDEs, and how you can get the most out of it by using the right plugins.

PHP: Frankenstein arrays
PHP has become quite a nice language, but there are some ugly legacies left from the past. Like the deceptive Frankenstein abomination known as the "array".