PHP[tek] 2026: Practical PHP, Chicago Hot Dogs and All The Elephpants
Reflections from my first PHP[tek] in Chicago: two talks, practical PHP sessions, hallway chats, Wurstcon, elephpants and a final-day look around the city.
22 articles tagged php.
Reflections from my first PHP[tek] in Chicago: two talks, practical PHP sessions, hallway chats, Wurstcon, elephpants and a final-day look around the city.
A first trip to phpday, and a first time in Verona!
A speaker's review of Dutch PHP Conference 2026 - from standout talks on Laravel, Rust and WebAssembly to hallway conversations, unexpected ideas, and the enduring magic of in-person events.
My experience speaking at ConFoo 2026 in Montréal — two talks, a brilliant technical crowd, some excellent sessions, and a city that is genuinely something else in winter.
A small Laravel feature that prevents a big headache: how Mail::alwaysTo() keeps staging and demo environments from accidentally emailing real users.
In June 2025, I spoke at IPC Berlin about idempotency - what it is, how it protects our APIs, and what goes wrong when we forget about it! It was a great conference, in a fascinating city.
The Dutch PHP Conference in March 2025 was a great couple of days, where I got the opportunity to talk all about idempotency, and do it in a unique conference setting.
When configuring Filament to operate from the application's root directory, you might encounter routing errors. This is due to naming collisions with Laravel's default routes. Let's look at the solution!
When running tests with Laravel and Pest, the 'A facade root has not been set' error is a common one for beginners. Fortunately the fix is simple!
In November 2024, I spoke at IPC Munich about how backend developers can improve front end speed. There were fantastic talks at the conference, in a wonderful city worth a visit!
In June 2024, I had the pleasure of speaking at the PHPers Summit, in Poznan, Poland. My talk was about the quick wins available for backend developers who need to improve front end page speed.
Laravel's Process Facade makes it easy to work with system processes. Let's see how by building a simple domain expiry notification system!
Starting with PHPUnit 11, deprecation warnings will be fired if you're still using doc comments like "@test" above function declarations. This can lead to some pretty cluttered output in your test runs. Time to start using PHP attributes!
PHP UK is a fantastic developer conference which I have enjoyed attending many times in the past. This year was a little different, as I took to the stage for the first time!
Idempotency is a critical concept to be aware of when building robust APIs, and is baked into the SDKs of companies like Stripe, Paypal, Shopify, and Amazon. But what exactly is idempotency? And how can we easily add support for it to our Laravel APIs?
Discover how to tackle Laravel's testing challenges in multi-database scenarios. Say goodbye to the notorious 'Lock wait timeout' error.
Value objects are a great way to add safety and consistency to a dynamically-typed application, while also improving readability and testability.
Rolling averages are perfect for smoothing out time-series data, helping you to gain insight from noisy graphs and tables. This new package adds first-class support to Laravel Collections for rolling average calculation.
Multi-tenant applications in Laravel typically detect the tenant from the URL. Queues and artisan commands are powerful tools, but have no URLs attached. How do we make them tenant-aware?
One of the nice things about using git for version control is the amount of data it stores during development. Git log is a powerful tool for finding out what’s been going on in your project, all via a simple text-based interface. But if Jack Nicholson has taught us nothing else, it’s that all work and no play makes Jack a dull boy. So we took a look at some of the more fun and interesting ways of generating code visualisations – GwitLog, Gource and Christmas Commits.
When doing any sort of non-trivial development, sooner or later you’ll likely end up having to send emails from your application. Email is a key part of many application for things like event notifications or user account verification. Testing that the right mails get sent at the right times can often be more hassle than it really should be. Fortunately, a tool called Mailcatcher exists to make this process much easier.
Character encoding in PHP can be fun at the best of times. Trying to send a non-ASCII character in a html email – a euro symbol, for example – can be just such one of those times.