The Best Way to Learn Something? Teach It! by Scott Keck-Warren
In Part IV, we looked at the architectural side of session resilience and compared the main backend choices. That gives us the map, but a good map is not the same as a safe road. To keep users logged in during failure, the PHP code itself must cooperate with the storage design. by Wendell Adriel
So we’ve built our single perceptron and taught it to make simple decisions. That’s great, but here’s the thing – one perceptron can only solve problems that are linearly separable. Think of trying to separate two groups of data with a straight line. If you can draw a straight line that perfectly separates the groups, a single perceptron can handle it. But what if the data is more complex than that? by Christopher Miller
I’ve been using AI coding agents heavily for over a year. Claude Code, Cursor, multi-agent orchestration workflows – and everything in between. These tools have genuinely changed how fast I can ship. by Eric Mann
Ladies and gentlemen, boys and girls, cats of all ages! This time out, I want to share some common testing patterns for reducing the amount of duplication in your test code. As with all other installments of this series, my goal is to teach you to recognize the situations you come across while creating tests for your PHP code and the patterns you can apply to get repeatable results. I’ll be sharing examples in PHPUnit and Pest — these patterns can be applied to almost any assertion-based testing framework across other languages. by Chris Hartjes
As our first LLM request/response exercise, we will show the “Stateline Overlook” article to the LLM, asking AI to evaluate its suitability. The response appears to be wildly off track, but the LLM is working correctly as per design. The response walk-through will show us why. by Edward Barnard
Most applications call external APIs. Payment processors, notification services, data feeds, internal microservices – by the time a PHP application reaches production, it’s usually talking to at least a handful of third-party HTTP endpoints. And yet the HTTP client layer is one of the least considered parts of most codebases. by Steve McDougall
Managing a new PHP project often begins with a “monorepo” approach for the sake of convenience and rapid development. However, as the Spacetraders.io client evolved to include a CLI, a Web GUI, and a suite of REST clients, the initial simplicity has turned into a tangled web of dependencies. It’s time to improve maintainability and allow for easier collaboration with some “Git Fission”—splitting our repository while preserving the commit history. > > This month, let’s see a technical roadmap you can adapt to deconstruct a monolithic repository into more modular components. I’ll show you how to use `git-filter-repo`, walk through renaming namespaces, and see how to use a newly split component as a dependency in Composer. by Oscar Merida
Open the magazine, flip to the page of interest, and start reading. These are automatic processes for most of us. We don’t require a detailed instruction manual to carry out this task. However, when it comes to online platforms, people with disabilities may require a more direct approach with clear instructions. Let’s examine this more closely together. by Maxwell Ivey
In the lifecycle of any programming language, there exists a “Middle Age.” It is a period where the initial lightning-strike excitement of creation has long since passed, and the language has become part of the very bedrock of the internet. For PHP, this period has been defined by a strange paradox: it powers over 75% of the web, yet it is constantly plagued by a “zombie” reputation – a language that critics claim is dead, even as it continues to evolve at a blistering pace. by Christopher Miller
PEST has seen a decent amount of adoption, especially since it has become the de facto testing library for Laravel users, giving the option for Laravel developers to choose between PHPUnit or PEST, running PHPUnit under the hood. More choice can only be a good thing, but the adoption rates also mean a development lifecycle that has seen plenty of new features being shipped. by Jim Seconde
When we began this series, we looked at metrics to see performance trends, then turned to logs for granular events, and finally to traces for understanding how requests flow through services – Yet even with all three, there are times when one question remains unanswered -What is my code actually doing when the request is just slow? by Florian Engelhardt
Leave a comment
Use the form below to leave a comment: