Hi everyone,
PHP 8.5 has finally been released and for those who want to know what's new and what's changed we have that info in our articles section. In this week's newsletter we also have guides to refactoring complex database queries, Livewire lifecycle hooks, and how to speed up response time in Symfony. In Podcasts this week we have new episodes from Laravel News on faster tests, vantage points, and cleaning assets. No Compromises discusses how to model a relationship between two models, while The Changelog tackles the AI tech bubble. Finally in our Reading section we have articles on beating replication lag, time as a dependency, and the best ways to secure php apps from hacks.
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:
|
Articles
PHP 8.5: What’s New and Changed — A Developer’s Guide
This major update introduces several game-changing features, alongside quality-of-life improvements and necessary deprecations that pave the way for PHP 9.0.
The memory pattern every PHP developer should know about long-running processes
If you’re moving from PHP-FPM to long-running processes — RoadRunner, Laravel Queue workers, Symfony Messenger consumers — you’ll encounter a puzzling pattern.
Game changing editions
A couple of weeks ago, I shared my wishlist for PHP in 2026, and the one item that stood out were "PHP Editions". Let's unpack why I think this would be a gamechanger for PHP.
Immutable and Mutable Dates in PHP
When working with dates in PHP, it's important to understand the difference between mutable and immutable date objects. PHP provides two main classes for handling dates: DateTime (mutable) and DateTimeImmutable (immutable).
Data protection in Laravel with blind indexing CipherSweet
Blind indexing is a security technique that allows applications to search encrypted data without ever exposing the original plaintext. Instead of storing readable values, the system creates a one-way, keyed hash called a blind index that represents the sensitive data in a secure, non-reversible form.
Why does the PHP header redirect not work sometimes?
Ever stuck hours or days looking for bugs in your PHP project when the redirection is not working as expected? I felt the same while working on a project for my new PHP course. And after looking for possible bugs for some time, I remembered the fix I used when I was just a beginner (a decade ago).
Architecting Resilient Caching in Symfony: Beyond get() and set()
This article explores important caching strategies that solve expensive architectural problems: latency, concurrency (thundering herds), security (GDPR) and distributed invalidation.
|
Tutorials and Talks
PostgreSQL vs. MongoDB for Laravel: Choosing the Right Database
Comparison between prominent technologies is just as prominent as the technologies themselves. Developers or engineers from different backgrounds tend to indulge in debates around whether the technology they use is better than the other or not.
Static Analysis Secrets - Laravel In Practice EP13
In this episode of Laravel In Practice, I'll show you how to use Larastan, a static analysis tool built on PHPStan, to find hidden type safety issues in your Laravel code.
A practical guide to refactoring complex database queries in Laravel
When I opened our Repository Class file and saw a single method spanning 194 lines with nested subqueries, complex conditionals, and duplicated logic, I knew we had a problem. The code worked, but it was a maintenance nightmare.
Quick Guide to Livewire Lifecycle Hooks
If you're working with Laravel Livewire, understanding lifecycle hooks is essential for building reactive components that feel smooth and responsive.
Value Object in PHP 8: Build your own type system
In our previous articles, we learned: how to make basic value objects, how to use them in an advanced way, how to make entities. It's time to mix all these concepts together and apply them in a practical example.
Refactoring If-Else Hell into a Strategy Pattern in PHP
In this article, I’ll show you how to refactor such if-else hell into something much cleaner using the Strategy Pattern. By the end, you’ll see how flexible, testable, and maintainable your code can become.
The Pipe Operator (|>) in PHP 8.5: The End of Nested Functions
This guide explores how the new operator works, where it shines, and how you can start using it to clean up your codebase immediately.
Blazing Fast Symfony: How to Shave Milliseconds Off Your Response Time (The Ultimate Guide)
We know that performance is not just a feature — it’s a requirement. In the era of high user expectations and SEO demands, every millisecond counts. |
News and Announcements
PHP 8.5 is released with the pipe operator, URI extension, new array functions, and more
The PHP team has released PHP v8.5 with the Pipe operator, a URI extension, array_first() and array_last() functions, an INI diff flag, and more.
Blade @hasStack Directive Added in Laravel 12.39
The Laravel team released version 12.39.0 this week with a Blade @hasStack directive, a middleware filter for the route:list command, along with the latest type updates, fixes, and more.
PHP 8.5.0 Released!
The PHP development team announces the immediate availability of PHP 8.5.0. This release marks the latest minor release of the PHP language.
Symfony 7.4 curated new features
Symfony 7.4.0 is about to be released. As for any other Symfony release, our backward compatibility promise applies and this means that you should be able to upgrade easily to 7.4 without changing anything in your code.
November 17–23, 2025: A Week of Symfony #986
This week, Symfony published new release candidate versions of Symfony 7.4 and Symfony 8.0, which are scheduled for release next week. Meanwhile, we started working on Symfony 8.1, to be released on May 2026. Lastly, we published additional details about the SymfonyCon 2025 conference, which will also take place next week.
|
Podcasts and Vlogs
Laravel News Podcast: Faster tests, vantage points, and cleaning assets
Jake and Michael discuss all the latest Laravel releases, tutorials, and happenings in the community.
The Stack Overflow: Essential ingredients for enterprise AI success
Here, we’ve distilled the survey findings, laid out action items for leadership, and dug into recommendations around agentic AI for the enterprise. Spoiler alert: It all comes back to data quality.
No Compromises Podcast: Discussing different ways to model data
In the latest episode of the No Compromises podcast, Joel brings Aaron a real-world technical dilemma: how to model a relationship between two models when types are stored as enums, not models.
Software Engineering Radio: SE Radio 695: Dave Thomas on Building eBooks Infrastructure
Dave Thomas, author of The Pragmatic Programmer, The Manifesto for Agile Software Development, Programming Ruby, Agile Web Development with Rails, Programming Elixir, Simplicity, and co-founder of the Pragmatic Bookshelf, speaks with SE Radio host Gavin Henry about building infrastructure for eBooks.
Developer Tea: Career Fundamentals - Avoid Career Traps by Focusing on Primary Paths of Improvement
If you're looking to accelerate your career growth, this episode gives you what may feel like hard truths about the path forward. So many engineers fall into traps of overthinking, chasing minor optimizations (like 5% or 10% productivity boosts), or playing the games of politics and networking.
Shoptalk Show: 692: Killer Feature of Web Components, Skills > MCP, and Streaming HTML?
Dave has famous people blindness, a cologne life hack is dropped, what is the killer feature of web components, MCPs are so done—focus on skills instead, should custom events exist, and thoughts about streaming HMTL.
WP Builds: 446 – Inside Checkout Summit: Reviving Human Connections in the WooCommerce and WordPress Community
In this episode, Nathan Wrigley chats with Rodolfo Melogli about the growing isolation in the WooCommerce and WordPress communities due to remote work and AI, and his mission to “bring humans back” through in-person interaction.
PHP Architect: PHP Alive And Kicking – Episode 16 – Wendell Adriel
Wendell joins the show with a literal fire background (the “this is fine” meme), which he admits he can’t use anymore because of company backgrounds. But it’s an accurate representation of daily developer life, and we can all relate.
Mostly Technical: 108: Database School Launch
Ian and Aaron talk about the launch of Database School - the branding, everything he did the morning of the launch, building the site with Gemini, and so much more. Plus the world championship of….bagels?
Syntax: CSS: Advanced and Obscure
Scott and Wes face off in a CSS-themed round of STUMP’d, quizzing each other on shape functions, scroll snap types, obscure functions, and long-forgotten spec history.
The Changelog: What is a tech bubble anyway?
Cedric Chin says comparisons of our current AI maybe-bubble to the dot-com bubble and the 2008 GFC are limiting, Matthew Prince does a post-mortem on last week’s Cloudflare outage, “hl” is a fast / powerful log viewer for humans, Enthusiast Guy’s Continuum 93 is a fantasy computer emulator, and a list of things that aren’t doing the thing.
|
|
Stopping Laravel SQL Injection with sole()
I love using Eloquent’s sole() method in Laravel. It throws an exception if the result set is ever more than 1. It means you should only have a sole record. This is usually what I want. I’ve migrated away from firstOrFail() unless I legitimately want the first of a matching set.
One-to-One in Doctrine: How One Wrong Line of Code Generated 40,000 Extra Queries Per Day
A real-world debugging story - and the hidden mechanics behind Doctrine's 1:1 relations. A few years ago, I was working on a high-traffic Symfony application. Lots of concurrent users, lots of read operations, performance carefully monitored. Everything seemed stable - until our database dashboards started showing something odd.
The Case Against PHP PSR-14 Standard: Why Modern PHP Needs a Message Bus, Not an Observer
For the last decade, “Event-Driven” in PHP has meant one thing: PSR-14. Whether you use Symfony’s EventDispatcher, League\Event, or Laravel’s framework events (which follow the same pattern), the mechanism is identical: you create a Class to represent an event, you instantiate it, and you pass it to a dispatcher which—crucially—returns the object back to you.
Time as a Dependency: Advanced Patterns with the Symfony Clock
With Symfony 7.3 (released May 2025) and PHP 8.4, the symfony/clock component is no longer just a utility — it is the backbone of deterministic application architecture.
Beating Replication Lag: Read-Your-Writes Guarantees for Replica-Heavy Stacks
When a user saves a profile photo and then doesn’t see it on refresh, that’s not a UI glitch — it’s a consistency failure. In replica-heavy stacks (read replicas, caches, CDNs), your job is to guarantee read-your-writes for user-scoped flows while keeping the system cheap and fast.
Best Ways to Secure PHP Apps from Hacks
This guide digs deep into real ways to lock down your PHP code. We’ll skip the basics and focus on layers that block modern threats. From input checks to smart updates, you’ll get steps to build a tough defense. Let’s make your PHP apps hack-proof.
|
Interesting Projects, Tools and Libraries
softheroes/migratable-seeder
Versioned, environment-based Seeders in Laravel. Seed your database with the right data for the right environment.
klisl / yii2-json-behavior
Behavior for working with JSON format fields.
aleex1848/ssh
A lightweight package to execute commands over an SSH connection.
joshdifabio/magento1-module-loader
Load Magento 1 modules using Composer without copying anything into app/code.
equidna/laravel-docbot
Laravel package that generates API documentation and lists custom Artisan commands.
yucca/prerender-bundle
Allows you to easily use prerender for your Symfony apps running Client-Side MVC.
prodigyphp/laravel-ssh-tunnel
Easy creation & maintenance of an SSH Tunnel for Laravel.
elastic/site-search
Elastic Site Search Official PHP Client.
anibalsanchez/extly-html-asset-tags-builder
The Asset Tags Builder manages the generation of script and style tags for an Html Document.
vrbata/xml-validator
Validates your XML against a xsd schema.
|
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 16. 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?
|
|
|
|