Hi everyone,
It's November and we're a few weeks away from the release of Php 8.5. This week we have articles on Demeter's Law in php, custom exceptions, and Building Elegant Batch Jobs in Laravel. In Tutorials we have guides for MongoDB transactions, Debugging Memory Leaks in Node.js and PHP, and Feature testing. In Podcasts we have new episodes from Laravel Podcast and this week they talk about The Architecture Behind Laravel Cloud with Chris Fidao, while Ian and Aaron touch on Laravel in Mostly Technical. Finally in our Reading section we have articles on The Symfony/HttpClient Cookbook, Managing php dependencies, and Why PHP needs first-class Machine Intelligence.
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
Demeter's Law in PHP: Principle, Examples, and Best Practices
In software development, we often hear about best practices: decoupling, separation of concerns, SOLID principles… But there is one, sometimes overlooked, that deserves our attention: Demeter's Law. Also known as the principle of least knowledge, it helps write more robust, readable, and maintainable code.
Laravel Validation after() - After What, Exactly?
If you've worked with Laravel's Form Requests, you've probably run into the after() method for custom validation. But it works slightly differently that it named.
Stop Using Primitive Types: Value Objects in PHP for Domain-Driven Design
The Problem: Primitive Obsession Hell. Last year I reviewed code that crashed production. The bug? Someone passed "usd" instead of "USD" to a payment gateway.
Building Elegant Batch Jobs in Laravel with Clean Architecture
When you need to process millions of records, the naive approach—looping through everything in a single job—quickly fails. A better way is to break processing into small, repeatable batches.
Different type of action to take on delete in Laravel database migration
When defining a foreign key in a Laravel migration, the onDelete method determines what happens to the child records when the parent record is deleted. This allows you to manage data integrity at the database level.
Custom Exceptions in PHP: Building Your Own Error Handling System
Hey there! Before we dive into custom exceptions, I want to make sure you’re familiar with the basics of try-catch in PHP. If you haven’t read my previous article about try-catch and exception handling, I highly recommend checking it out first.
The Best AI Packages for Laravel (2025 Edition)
In this article, we explore the most popular and actively maintained AI packages for Laravel, their features, and concrete project examples you can build with them.
|
Tutorials and Talks
Optimizing Queries with Memoization - Laravel In Practice EP9
Your dashboard makes the same cache call three times in one request. Even at 8ms each, that's 24ms wasted. Laravel's memoization stores cache results in memory during the request, turning repeated calls into instant lookups.
MongoDB Transactions in Laravel
Laravel is one of the most widely adopted PHP frameworks. Developers love it for its elegant syntax, expressive ORM, and batteries-included experience. MongoDB, on the other hand, has become a go-to choice for flexible, schema-less storage that scales effortlessly.
Debugging Memory Leaks in Node.js and PHP
In this guide, we’ll explore how to detect and fix memory leaks in both Node.js and PHP, using practical tools like Chrome DevTools and Xdebug.
CQRS & Use Cases (PHP): Why Your Service Layer is a Mess (And How to Fix It)
The Problem: Service Layer Bloat. I once inherited a project with OrderService. It had 63 methods.
Feature Testing in PHP: Ensuring the Whole System Works Together
This article dives into what feature testing is, why it’s crucial, and how to apply it effectively in PHP (especially with frameworks like Laravel). We’ll explore common mistakes, best practices, and end with a live sandbox example that shows how to test system-level behavior even without a framework.
Laravel Models & Authentication: Setting Up User Registration & Login
In our previous tutorial, we built a registration form and handled form submission with a controller. Now, let's take the next step and implement complete user authentication using Laravel's built-in features.
Semantic search with embeddings in PHP: a hands-on guide using Neuron AI and Ollama
Imagine you run an e-commerce or content website. A user searches for “holiday gifts”, but your product catalog includes titles like “Christmas stocking”, “December sale”, or “winter celebration bundle”. |
News and Announcements
Concurrency Control in Laravel 12.36, Inertia View Transitions
The Laravel team released version 12.36.0 this week, adding concurrency control for HTTP pool and batch methods, introducing two Eloquent collection methods, and more. In addition, Inertial 2.x added support for View Transitions.
Symfony 8.0.0-BETA2 released
Symfony 8.0.0-BETA2 has just been released. This is a pre-release version of Symfony 8.0. If you want to test it in your own applications before its final release, run the following commands.
October 27 – November 2, 2025 - A Week of Symfony #983
This week, Symfony released the maintenance versions 6.4.27 and 7.3.5. In addition, we published 7.4.0-BETA1 and 8.0.0-BETA1 so you can test them before their final release in four weeks. Meanwhile, we shared a new case study about Symfony and more details about SymfonyCon Amsterdam 2025, which starts in less than 30 days.
betterCode() PHP 2025 - 25 November, Online
With version 8.5, PHP continues to evolve in its thirtieth year: the new pipe operator and numerous performance improvements make your development more efficient. At the same time, FrankenPHP is establishing itself in Caddy Server, a European open-source solution, as a modern alternative to Nginx.
Save the date, SymfonyDay Montreal 2026!
We’re thrilled to announce that SymfonyDay Montreal is happening on June 4, 2026! Mark your calendars, tell your friends, and get ready for a day full of inspiring talks, networking opportunities, and the vibrant energy of the Symfony community in Canada!
|
Podcasts and Vlogs
The Stack Overflow: To write secure code, be less gullible than your AI
Ryan is joined by Greg Foster, CTO of Graphite, to explore how much we should trust AI-generated code to be secure, the importance of tooling in ensuring code security whether it’s AI-assisted or not, and the need for context and readability for humans in AI code.
Software Engineering Radio: SE Radio 692: Sourabh Satish on Prompt Injection
Sourabh Satish, CTO and co-founder of Pangea, speaks with SE Radio’s Brijesh Ammanath about prompt injection. Sourabh begins with the basic concepts underlying prompt injection and the key risks it introduces.
Developer Tea: Getting to Senior - Taking Ownership Without Leading Projects
If you're an engineer looking to move into a senior role, you have likely heard that you need to demonstrate "ownership". Unfortunately, this crucial term is often poorly defined and leads to a major misconception: that ownership means being assigned a full project or a Tech Lead role.
Shoptalk Show: 689: Tyler Sticka on Colorpeek 2 and Awesome CSS
In this episode we sit down with Tyler Sticka to discuss upgrading his project, Colorpeek. We explore the practical applications of web components and CSS, and how they are shaping the future of web development.
WP Builds: 443 – AI Experiments in WordPress: a plugin search engine, customer support bots, and Block Editor integration
In this WP Builds podcast episode, Nathan Wrigley chats with Amadeu Arderiu about three innovative WordPress AI projects: ploogins.com, an AI-powered search engine for both free and premium plugins.
Laravel Podcast: The Architecture Behind Laravel Cloud with Chris Fidao
In this episode of the Laravel Podcast, host Matt Stauffer chats with Chris Fidao, Team Lead of Laravel’s Infrastructure Cloud Team. They talk about Chris’s journey from his first experience with Laravel to creating educational content and eventually leading an engineering team.
PHP Architect: PHP Alive And Kicking – Episode 10 – Jasper Willems
Jasper hasn’t written a line of code since his Commodore 64 days—and he’s perfectly fine with that. While most guests talk about their first “Hello World,” Jasper’s entry into PHP came from the business side.
Mostly Technical: 105: Laravel New, Again
Ian and Aaron talk about the first ever Wire:live conference, what's new in Livewire 4, the best book Aaron's ever read, and....oh no. Oh no. Ian decided to `laravel new`. Again.
Syntax: A first look at Remix 3
Scott and Wes dive into Remix 3, exploring how it embraces native web standards like Events, Signals, and Streams to become a truly full-stack framework. They unpack what “LLM-ready,” thin APIs, and a standards-based approach mean for the future of web development.
The Changelog: The overlooked power of URLs
Ahmad Alfy explains how URLs are state containers, Shrivu Shankar shares how he uses every Claude Code feature, Yusuf Aytas laments how AI broke technical interviews, Wu Xiaoyun tells how he saved TikTok $300k during his internship, and TOON is a new serialization format to save us some LLM tokens.
|
|
The Symfony/HttpClient Cookbook: 4 Enterprise Patterns You Haven’t Seen
We’ve talked before about the fundamentals of resilience, mastering streams, and handling retries. Those are the essential survival skills for any developer integrating with third-party APIs. But survival isn’t the end goal. The goal is to thrive.
Module 5: Advanced Topics and Best Practices
In this module, we will cover code coverage analysis, integration with CI/CD pipelines, and the best practices that separate a junior developer from a senior one when it comes to testing.
How to Manage PHP Dependencies Effectively in Your Projects?
Managing dependencies in PHP projects is a fundamental skill that separates amateur developers from seasoned professionals. While Composer has revolutionized how we handle PHP packages, effective dependency management encompasses far more than simply installing libraries.
Incident-Driven Architecture for Laravel: From On-Call Pages to Better System Design
Incidents are architecture speaking in all caps. Every late-night pager, 500 response, or slow checkout is your system telling you where the design is brittle. Incident-Driven Architecture (IDA) treats each outage as structured input: we convert pain into patterns — SLOs, error budgets, guardrails, and design changes — so the next page never fires.
Incalculable Risk — Why PHP needs first-class Machine Intelligence
A short history lesson … Many moons ago — 2012 — I wrote pthreads and released it to the world. The backdrop to this was several years of plateaued clock speeds in typical server infrastructure.
|
Interesting Projects, Tools and Libraries
google-gemini-php/larave
Google Gemini PHP for Laravel is a supercharged PHP API client that allows you to interact with the Google Gemini AI API.
duncanmcclean/simple-commerce
A simple, yet powerful e-commerce addon for Statamic.
rakibahmed1212/api-crud-package
Laravel package to generate a complete API CRUD operation.
dgrigg/craft-migration-assistant
Create content migrations at the click of a mouse. Keep environments in sync with ease.
notihnio/php-request-parser
The missing php functionality to support put, patch, delete, put FORM and MULTIPART requests handling.
snakano/cakephp-redis-cluster-cache
Redis Cache Engine for CakePHP 2.x (support redis cluster).
flownative/prometheus-flow-metrics
Prometheus metrics for Neos Flow applications.
paysera/fork-sonata-project-classification-bundle
Symfony SonataClassificationBundle.
dbfx/laravel-strapi
Laravel wrapper for using the Strapi headless CMS.
goddard/datatables
PHP Library to handle server-side processing for Datatables, in a fast and simple way.
|
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?
|
|
|
|