Hi everyone,
If you want to keep up with what's hot and fresh in the world of PHP, then you should subscribe to our weekly newsletter. In this week's edition, we have articles on Fluent conditional validation, the missing link for RAG, and why your legacy PHP codebase isn't hopeless. In Tutorials we have guides for Hash Tables, property hooks, and How to deprecate PHP code without breaking your users. Finally in our Reading section we have articles on Measuring Performance with the "Benchmark" Class in Laravel, Hidden Pitfalls in JS Character Counting with PHP/MySQL, and Why Relying on Code Review Alone Is a Recipe for Burnout.
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
Symfony AI Store: The Missing Link for RAG in PHP
For years, PHP developers watched the AI revolution unfold from a slight distance. We hacked together Python microservices, wrestled with raw API calls to OpenAI, or relied on experimental libraries that broke with every minor release.
PHP: Stop Passing Arrays Everywhere
If your array-shape PHPDoc needs line breaks, comments, or nested generics — congratulations, you’ve just designed an object. You just didn’t have the courage to admit it.
Your Legacy PHP Codebase Isn't Hopeless
You ship a small bug fix. Suddenly, two other features break. Every deployment feels like gambling. The business depends on this app — it brings in revenue, customers use it daily — but nobody feels confident working on it.
PHP: Why I Use Static Analysis
Let’s start with something simple and uncomfortable: If an error happens at runtime, a user sees it.
Top 10 VS Code Extensions for PHP Developers in 2026
In this blog, I’ll walk through the top 10 VS Code extensions for PHP developers in 2026, explain why they matter, and how they help in real-world projects.
Fluent Conditional Validation for PHP
Most PHP validation libraries handle simple cases well. But conditional logic? You end up with callbacks, closures, or falling back to manual if/else blocks.
|
Tutorials and Talks
Speeding Up Laravel News With Cloudflare
Performance tuning in Laravel often starts with database indexes, query optimization, or infrastructure upgrades. But in many cases, the biggest gains come from a much simpler realization: large portions of your Laravel application are effectively static.
Mocking External APIs in PHP (Sandbox Example)
This article walks you through mocking external HTTP APIs in plain PHP, from basics to advanced techniques, with sandbox-style examples you can run immediately.
Hash Tables Demystified: A Complete Guide with PHP Implementation
Hash tables are one of the most important data structures in computer science. They power everything from PHP's associative arrays to database indexes, and understanding how they work will make you a better developer. Let's dive deep!
How to deprecate PHP code without breaking your users
Removing old code from your project or library without breaking existing users is tricky. This guide shows you how to deprecate PHP methods, classes, and parameters the right way.
Property Hooks in Action: Real-World Examples with Symfony 7.4
In this article, I will explore how to modernize a Symfony 7.4 application using these features. I will refactor a legacy-style Doctrine entity into a modern, lean PHP 8.4 component, ensuring full compatibility with Symfony’s Serializer, Validator and Forms.
Divide and Conquer: A Complete Guide with Practical Examples
In this comprehensive guide, we'll explore this fundamental technique with detailed explanations and practical PHP code examples you can run right away.
Reduce Duplicate Cache Queries in Laravel with "Cache::memo()"
In this Quickfire article, we'll take a look at how to use the Cache::memo() method to reduce duplicated cache queries in Laravel applications to improve performance.
What is Encapsulation in PHP (OOP)?
In this blog, we will learn what encapsulation is in PHP. As a software developer, it’s an important concept to understand because it is frequently asked in interviews. Let’s explore encapsulation with simple examples.
MindBoard: A calm place for your ideas & thoughts
In this post, I’ll walk you through the architecture, design decisions, and implementation details in a way that’s accessible to developers at all levels. Whether you’re just starting out or looking to understand best practices, I hope you’ll find something valuable here.
From 45ms to 8ms: Benchmarking Symfony 7.4 on FrankenPHP
In this article, we will tear down the traditional LEMP stack and rebuild a high-performance Symfony 7.4 application using FrankenPHP.
Deserialization and magic methods
We will try to understand how magic methods work as well as deserialization. |
News and Announcements
Query Builder Expression Aliases in Laravel 12.48
Laravel v12.48.0 introduces query builder expression aliases, new batch lifecycle events, enhanced JSON decoding options for HTTP responses, and a BatchFinished event. The release includes several type safety improvements, support for isolated view compilation during parallel testing, and a skipWhen method for the CORS middleware.
Laravel Boost v2.0 Released with Skills Support
Laravel Boost v2.0 is now out and introduces a new Skills system that enables developers to extend and customize their development workflow. This major release also includes a revamped installation experience, package discovery improvements, and Inertia Vue skill syntax support.
Laravel News Is the Live Stream Partner for Laracon EU 2026
I’m excited to share that Laravel News will be the exclusive live stream and media partner for Laracon EU 2026.
Laravel Debugbar v4.0.0 is released
Laravel Debugbar v4.0.0 marks a major release with package ownership transferring from barryvdh/laravel-debugbar to fruitcake/laravel-debugbar. This version brings php-debugbar 3.x support and includes several new collectors and improvements for modern Laravel applications.
Symfony 6.4.32, 7.3.10, 7.4.4 & Symfony 8.0.4 Released
Read the Symfony upgrade guide to learn more about upgrading Symfony and use the SymfonyInsight upgrade reports to detect the code you will need to change in your project.
January 19–25, 2026 - A Week of Symfony #995
This week, Symfony celebrated the Online January 2026 conference. Meanwhile, the upcoming Symfony 8.1 version added support for persistent cURL handles in HttpClient, enabled mocking non-shared services in tests, and updated ContainerConfigurator to allow excluding items when importing services. Lastly, Twig 3.23 was released with new operators and destructuring support.
|
Podcasts and Vlogs
The Stack Overflow: Spy vs spy at scale
Ryan welcomes Anthony Vinci, former senior intelligence officer and author of The Fourth Intelligence Revolution, to explore AI’s evolving role in intelligence in places like translation and image analysis, the challenges of evolving modern tech into government infrastructure, and the importance of democratized intelligence so citizens can keep themselves and loved ones safe.
North Meets South Podcast: When AI clicks, automation at home, and developer workflows
Jake and Michael return for 2026 and talk about their evolving experiences with AI; what it’s good at, what it’s not, and how it’s changing the way they work.
Maintainable Podcast: Brittany Ellich: Using AI to Maintain Software, Not Rewrite It
In this episode of Maintainable, Robby sits down with Brittany Ellich, a Senior Software Engineer at GitHub, to talk about a different path. One rooted in stewardship, readability, and resisting the urge to start over.
Software Engineering Radio: SE Radio 704: Sriram Panyam on System Design Interviews
Sriram Panyam returns to the show to discuss the system design interview (SDI) with host Robert Blumen. This challenging part of the hiring process is included in the interview loop for many jobs across tech, including management, and for all levels from entry to senior.
Shoptalk Show: 699: Jeremy Keith on Web Day Out
Web Day Out is coming up and Jeremy Keith from Clearleft (name pending the ShopTalk Show rebrand) is here to chat about it and while we've got him, Dave throws him on the hot seat to answer some hard hitting journalism questions about the state of the web in 2026.
WP Builds: 453 – Does WordPress offer anything to a younger audience? With Taylor Drayson
In this episode, Nathan Wrigley chats with Taylor Drayson, a young WordPress professional who shares his journey into web development, inspired by his self-employed father.
PHP Architect: The PHP Podcast 2026.01.22
The PHP Podcast streams the recording of this podcast live, typically every Thursday at 3 PM PT. Come join us and subscribe to our YouTube channel.
Mostly Technical: 116: Inside The Token Factory
Ian and Aaron recap their trip to San Francisco to see the first demo of the Laravel AI SDK before going in-depth on the Faster.dev announcement!
Syntax: The Web’s Next Form: MCP UI (with Kent C. Dodds)
Scott and Wes sit down with Kent C. Dodds to break down MCP, context engineering, and what it really takes to build effective AI-powered tools.
The Changelog: Clawdbot triggers a run on Mac Minis
Clawdbot drives Mac Mini sales, Swizec Teller on the future of software engineering being SRE, Daniel Stenberg decided to end curl’s bug bounty program, zerobrew takes some of the best ideas from uv and applies them to Homebrew, and Phil Eaton on LLMs and your career.
|
|
Symfony AI: When a School Bus Painted as a Rocket Pretends to Go to Orbit
You'd almost want to believe it. One fine morning, Symfony announces its "AI" module, and the whole ecosystem shivers as if the framework had just discovered quantum gravity.
Why Relying on Code Review Alone Is a Recipe for Burnout
The pull request is approved. Tests are green. All comments are resolved. A week later, a bug appears in production. Nothing exotic. No edge case. Just a simple issue that somehow slipped through. Everyone did their job. The code was reviewed. And yet - it still broke.
Measuring Performance with the "Benchmark" Class in Laravel
In this article, we'll take a look at how to use the Benchmark class in Laravel to measure the performance of different code blocks, along with some important considerations to keep in mind when using it.
Beyond Surrogate Pairs: Hidden Pitfalls in JS Character Counting with PHP/MySQL
When counting characters in JavaScript, the surrogate pair issue (where emoji and certain CJK characters count as 2) is fairly well-known. You've probably seen advice like "just use [...str].length" to solve it.
From monolith to modular monolith to microservices: realistic migration patterns
This article is a coherent, practical guide — written as a senior engineer would actually explain it — for teams who want the benefits of distribution without the debt. No buzzwords. No ideology. Just what to do, when to do it, how to test it, and when to stop.
|
Interesting Projects, Tools and Libraries
jstewmc/php-helpers
Static classes to help with numbers, strings, arrays, files, and bools in PHP.
kphoen/rulerz
Powerful implementation of the Specification pattern.
andru19/yii2-dropzone
Yii2 Dropzone widget.
kduma/eloquent-encryptable
Adds possibility to encrypt fields in Laravel Eloquent models.
glassfrogbooks/baum
Baum is an implementation of the Nested Set pattern for Eloquent models.
mpociot/laravel-firebase-sync
Synchronize your Eloquent models with a Firebase realtime database.
eclipxe/xmlschemavalidator
PHP Library for XML Schema Validations.
structurizr-php/extensions-php
Structurizr for PHP extensions.
flagshipcompany/flagship-for-woocommerce-bedrock
A WordPress plugin that obtains real time FlagShip shipping rates for WooCommerce.
avto-dev/events-log-laravel
Events logging for laravel applications.
|
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?
|
|
|
|