Hi everyone,
The holiday season is in full swing with the mad traffic, deadlines and people rushing to get their shopping done. We hope you all find time to take a breather and not get caught up in the holiday whiplash. In this week's newsletter we have a new Xdebug update, we also have built in Laravel support for PHPStorm developers. Our Tutorials are stacked with guides to building production ready Web3 integration using Symfony 7.4 and PHP 8.3+, Geocoding with Cloudflare, and how to test legact Laravel code without refactoring first. we have articles on Message Brokers in PHP, 5 Database Query Optimisation tips, and how PHP 8.4 impacts WordPress site speeds. Finally in our Reading section we have blog posts on Railway-oriented programming in Laravel, a deep dive into modern object design, and what's the reason behind why
we stil teach shared-memory threading as the 'normal' way to write code.
We have all that and more, so we do hope you enjoy this week's newsletter. If you have an article, tutorial or podcast that you would like to be featured in our newsletter, feel free to reach out to us at [email protected].
All the best,
Adrian
|
Please help us by clicking to our sponsors:
Give Your Unused Startup a Second Chance
List your unfinished SaaS, app, or project for free. Sell it, find a co-founder, or let someone else bring it to life. No fees, no hassle - just new opportunities!
|
Articles
Abstract Factory Pattern in PHP – Examples & Best Practices
The Abstract Factory Pattern is designed to solve this problem. It allows you to create families of related objects without specifying their concrete classes, making your code more flexible, scalable, and easier to maintain.
Message Brokers in PHP: From Hundreds of Lines to Just a Few
Message broker integration in PHP can be wrestling with exchange declarations, queue bindings, consumer configurations, and endless boilerplate.
5 Database Query Optimization Tips That Actually Work
After years of managing database-driven applications, I've learned that query optimization can make or break your application's performance. Here are five practical tips I use regularly.
How PHP 8.4 Impacts WordPress Site Speed in 2025
The most popular and recent release of the server-side language, PHP 8.4, includes a series of improvements that will likely be able to improve the language in terms of performance and efficiency.
Discovering Hiawatha: A Lightweight Web Server for Modern PHP Deployments
Recently, I received an email from a man struggling to set up a reliable web environment for a PHP forum project similar to MyLittleForum. They were dealing with bloated Docker images, complex PHP-FPM socket permissions, and dependency issues in a Debian-based container stack.
How to Identify AI-Generated Images in PHP
AI-generated content is taking over the internet. If you’re like most people, you’re probably tired of it.
PHP 8.5 Unlocked: 6 Killer Features That Erase Your Code Debt
Are you a PHP dev? Cool! Let’s talk about the gifts PHP brought for us in the new release.
|
Tutorials and Talks
Geocoding with Cloudflare
I like to offer Laravel Shift for "20 bucks". But $20 may be more or less depending on where you live. So if you're in a country where the value of your dollar is 50% less than USD, I offer purchasing power parity.
Migrating from SQL to MongoDB
Many applications begin their lives built on SQL databases like PostgreSQL or MySQL. For years, they serve their purpose well, until they don't anymore.
Building a Dynamic Dashboard - Laravel In Practice EP14
Ever wanted to build interactive dashboards without wrestling with JavaScript frameworks? Laravel Livewire makes it possible to create fully dynamic interfaces using only PHP.
Building Decentralized Architectures with Web3 and Symfony 7.4
In this guide, we will build a production-ready Web3 integration using Symfony 7.4 and PHP 8.3+.
How to Test Legacy Laravel Code Without Refactoring First
This article walks through practical, battle-tested strategies for testing legacy Laravel (and PHP) code without refactoring it first.
Chain of Responsibility, Rule, Specification… How to combine three patterns to make your business flexible
In this article, we’ll explore how to combine all three using modern PHP, and build a small system capable of evaluating and applying business rules in a clean, predictable, and extensible way.
Implementing TOTP-Based Multi-Factor Authentication in Symfony 7
A step-by-step tutorial for adding Time-based One-Time Password (TOTP) authentication to your Symfony application — without third-party bundles.
Stop Hardcoding Translations: The Revolutionary Way to Build Multilingual Laravel Apps with Translatable Enums
In today’s interconnected world, building applications that speak your users’ language isn’t just a nice-to-have — it’s essential.
Building a FinTech Approval System with Symfony 7.4
The symfony/workflow component has long been one of the framework’s most powerful, yet underutilized, gems.
How to Flag Spam from Text Input in PHP
Spam can clutter any direct text input on a website or application, like comment boxes, contact forms, support ticket fields, and more. Mitigating spam is crucial to limit its impact on downstream business processes.
|
News and Announcements
Built-in Laravel Support: A New Era for PhpStorm Developers
For years, PhpStorm has been the go-to IDE for PHP developers – powerful and deeply integrated with the language. But there was one thing many kept asking for: Laravel support out of the box.
HTTP Client Request Attributes in Laravel 12.42
The Laravel team released version 12.42, featuring HTTP client request attributes, support for Enums in Translator replacements, schema builder index methods, and more.
Inertia 2.3 Adds Precognition Support
Inertia v2.3 was released, adding Laravel Precognition support to the Form component and useForm() out of the box.
Xdebug Update: November 2025
In this update I explain what happened with Xdebug development in the last month.
December 8–14, 2025 - A Week of Symfony #989
This week, Symfony released the maintenance versions 6.4.30 and 7.3.8, as well as the first patch releases of the 7.4 and 8.0 branches: 7.4.1, 8.0.1, 7.4.2, and 8.0.2. In addition, we published a free video of the Symfony AI talk from SymfonyCon Amsterdam 2025, offering an introduction to integrating AI into Symfony applications.
|
Podcasts and Vlogs
The Stack Overflow: Live from re:Invent…it’s Stack Overflow!
Ryan is joined by Stack Overflow’s CEO Prashanth Chandrasekar and Director of Data Science Michael Foree on the floor at re:Invent to discuss all they’ve seen and heard at the event, from the future of AI agents to the trust issues the enterprise has around AI and the impact of AI and robotics on the job market.
Software Engineering Radio: SE Radio 698: Srujana Merugu on How to Build an LLM App
In this episode of Software Engineering Radio, Srujana Merugu, an AI researcher with decades of experience, speaks with host Priyanka Raghavan about building LLM-based applications.
Developer Tea: Announcing - Career Growth Accelerator, Episode Zero - Getting Out of Your Own Way
This episode kicks off the Career Growth Accelerator series, focused on the specific hurdles faced by mid-to-senior level engineers, managers, and leaders who are looking to move to the next level.
Shoptalk Show: Happy Project Share Time (2025 Edition)
After a bit of gaming talk, Chris and Dave are sharing a bunch of cool projects that our Discord community members have been sharing over the past year including things like a web component based admin bar.
WP Builds: 449 – Making digital accessibility a reality: Anne-Mieke Bovelett’s CloudFest Hackathon journey
In this WP Builds episode, Nathan Wrigley interviews Anne-Mieke Bovelett about her experience leading a winning accessibility project at the CloudFest Hackathon 2025.
PHP Architect: The PHP Podcast 2025.12.11
This week on the PHP Podcast, Eric, Sara, and John talk about Clamp, Preloading, NativePHP v2, the end of Fleet, Waymo Cars DDOS, and more.
Frontmatter Podcast: Sal Kimmich, Author of Code, Chips and Control: The Security Posture of Digital Isolation
In this episode of the Leanpub Podcast, Sal Kimmich offers a deep technical look at the evolving security landscape across hardware, software, and open-source ecosystems.
Mostly Technical: 111: Hearts & Minds
Ian and Aaron discuss how Aaron's orchestrating fly.io boxes for Database School, why sometimes you need to use AI to help AI, and why Costco is truly a great place. Plus an all-time Ian resume rant and so much more.
Syntax: Hardware Hacking with Matt Brown
Scott and Wes chat with YouTuber and security consultant Matt Brown about breaking into IoT devices, extracting firmware, and decoding the hidden tech inside everyday gadgets.
The Changelog: The code, prose & pods that shaped 2025
This episodes diverges from our traditional fare. I’ve reviewed the 49 previous editions and picked (IMHO) the coolest code, best prose & my favorite podcast episode from each month!
|
|
Railway-Oriented Programming in Laravel: Exceptions Are Not Your Business
Here’s the thing about exceptions that nobody tells you in Laravel tutorials. They were designed for exceptional circumstances; things going catastrophically wrong, like your database suddenly catching fire or your server running out of memory. They were not designed for predictable business logic failures like “user already exists” or “invalid credentials.”
How to Improve Native Magento 2 Community Edition Features?
Are You Seeking an Alternative, Free Solution for Setting Up Your Online Store? Magento 2 Community Edition features a powerful, free-to-use platform for scaling businesses.
How I Built a Custom PHP MVC Framework Without Composer (And Sold It for $8k)
Everyone says you need Laravel, Symfony, or WordPress to build a professional web app. They’re wrong. Recently, I built a custom SaaS-level platform for a high-end Safari operator.
The Death of Dynamic Properties in PHP: A Deep Dive into Modern Object Design
This article explores not just the what and when, but the deeper why — and what it means for the future of PHP development.
Why API Platform Does Not Allow Serializer Groups on canXxx() Methods
When working with API Platform and Symfony Serializer, you may encounter the following error.
Share Nothing — Do Everything
“Share Nothing” is the architectural principle behind modern systems, espoused by Go’s best practices, and enforced in PHP’s parallel extension. But why isn’t it the default? Why do we still teach shared-memory threading as the “normal” way to write concurrent code?
Testing, REST APIs & Infrastructure Essentials
Let me share what I’ve learned about testing, building proper REST APIs, and understanding the infrastructure that makes it all work.
|
Interesting Projects, Tools and Libraries
madewithlove/license-checker
CLI tool to verify allowed licenses for composer dependencies.
pozitronik/yii2-grid-config
Configurable grids for YII2.
gnikyt/basic-shopify-api
A basic Shopify API wrapper with REST and GraphQL support, powered by Guzzle.
fidry/cpu-core-counter
Tiny utility to get the number of CPU cores.
square1/resized-laravel
Laravel package for resized.co, the on-demand image manipulation service.
stolt/json-lines
Library for the JSON Lines text file format.
aquaro/laravel-maintenance-mode
Laravel Maintenance Mode without terminal access.
21torr/simple-normalizer
A simple and fast normalizer bundle for Symfony.
filippo-toso/laravel-helpers
A couple of helpers for Laravel development.
heartsentwined/cron-expr-parser
Parse cron expressions and match them against time.
|
Jobs
------
Do you have a position that you would like to fill? PHP Weekly is ideal for targeting developers and the cost is only $75/week for an advert. Please let me know if you are interested by emailing me at [email protected] |
Please help us by clicking to our sponsor:
Protect your PHP Code
Why not try SourceGuardian 17. Click here to download a 14 Day Trial copy. Protect your code using Windows, Linux or Mac and run everywhere with our free Loaders. |
So, how did you like this issue?
|
|
|
|