Skip to main content
WritingVideosSpeakingCodeAbout

Pillar

PHP & Laravel

The language got good. Most code has not caught up with it.

PHP got good and the ecosystem has not quite caught up with itself. Enums, readonly classes, fibers, property hooks, and by 8.5 a type system strong enough to design against rather than around. Plenty of code is still written the way it was written for PHP 7, running on a far better engine than it knows about.

Laravel is the same story from the other end. The framework hands you so much that the path of least resistance is to let it make your design decisions, and then a single feature touches ten files and nobody can say why it has to. A fair amount of what I write here is about using less of it, deliberately.

Framework craft, the parts that still hold up years later: the container, Eloquent without the footguns, the PSRs worth importing, and tests that assert behaviour rather than mocking their way around it.

Start here

A route through it, in order.

  1. 1

    Fibers Plus the Polling API: What Async PHP Actually Looks Like Now

    Fibers give PHP concurrency. The Polling API gives it native epoll and kqueue. Here's how to build on both, with honest benchmarks.12 min read
  2. 2

    The Object Design Style Guide for PHP 8.5 - Discipline without friction

    How PHP 8.5 absorbs Noback's Object Design Style Guide patterns directly into syntax, eliminating ceremony.12 min read
  3. 3

    Testing Actions, Not Mocks

    Mocking your own Actions tests the wiring, not the behaviour. How I test Laravel Action classes for real with Pest, and where fakes still belong.9 min read
  4. 4

    The PSR Standards You Are Probably Ignoring

    Five PSR standards that most PHP developers skip. Master them and write code that works anywhere, tested easily, and tied to nothing.12 min read

Same subject

PHP & Laravel, in every other format.

Archive

Everything in PHP & Laravel, newest first.

Oct 202612 min read

Sending And Receiving Webhooks In Laravel

A webhook is a contract between two codebases that never meet. Both ends of it in plain Laravel: what to sign, how long to retry, and how the receiver avoids doing the work twice.

Oct 202631 min read

Building a home-education platform with Laravel 13, Inertia and React, and shipping it to Laravel Cloud

A Laravel 13, Inertia and React platform for home educating my son: an append-only learning record, a planner, AI kept on a short lead, and what Laravel Cloud asked of the code.

Sept 202610 min read

The UK is mandating e-invoicing in 2029, and your invoicing code is not ready

From 2029 every UK VAT invoice has to be structured data that passes about eleven hundred rules. What that means for the invoices table you already have, and the four fields that break first.

Jul 202612 min read

Fibers Plus the Polling API: What Async PHP Actually Looks Like Now

Fibers give PHP concurrency. The Polling API gives it native epoll and kqueue. Here's how to build on both, with honest benchmarks.

Jun 20269 min read

The Polling API Is the Most Underrated RFC PHP Has Shipped in Years

The Polling API gives PHP 8.6 native epoll and kqueue at last. Here's why the RFC nobody discussed is the most consequential in years.

Jun 20269 min read

Testing Actions, Not Mocks

Mocking your own Actions tests the wiring, not the behaviour. How I test Laravel Action classes for real with Pest, and where fakes still belong.

May 202612 min read

The PSR Standards You Are Probably Ignoring

Five PSR standards that most PHP developers skip. Master them and write code that works anywhere, tested easily, and tied to nothing.

Mar 202610 min read

Building Real Applications with TempestPHP

How to structure TempestPHP applications with domain-first folders, repositories, command handlers, and thin controllers that stay maintainable.

Feb 202612 min read

The Object Design Style Guide for PHP 8.5 - Discipline without friction

How PHP 8.5 absorbs Noback's Object Design Style Guide patterns directly into syntax, eliminating ceremony.

Oct 202512 min read

Static site generation in PHP with Tempest

Learn how Tempest brings static site generation to PHP, making it easy to build fast, secure, and scalable sites with familiar patterns.

Jul 20259 min read

An educational look into the Tempest PHP framework

Discover how Tempest, a modern PHP framework, uses code discovery and the latest PHP features to simplify app development and boost productivity.

Feb 202510 min read

Advanced Authorization methods in Laravel

Unravel Laravels authorization built-in Gates, Policies & advanced ReBAC, ABAC, PBAC methods for secure, scalable app access control.