sticker

Subscribe! Enter your email address below:

NO SPAM: We absolutely hate spam. We will not share, rent, or give away your email address to anyone.You can unsubscribe at any time. Easily!

April 23, 2026

Hi everyone,

It's Thursday and once again we deliver the latest news and updates on everything php. This week we have guides on How to Print Alphabet T Pattern in PHP Using Loop, How to Add Skip Links to Any WordPress Theme, and How Laravel Events, Listeners, and Observers Actually Work. In Podcasts this week we have new episodes from Laravel News and this week they chat about Rust language servers, JSON Alexander, and Cloud CLI. Stack overflow chats about the never-ending need for software developer communities and entry points into programming, while on PhpArchitect Sara Golemon returns for a deep dive into Git Worktrees. Finally in our Reading section we have articles on Community Laravel Starter Kits Worth Knowing, a deep dive into PHP 8.5's New Features and RFCs, and Why 100k RPS Kills PHP, Not Nginx.

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:

Sponsor Logo

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

Why Projections Exist — Your First Read Model
Event Sourcing gives you a complete history of everything that happened in your system. What it does not give you is a way to query it.

Laravel Testing Mistakes That Make Your Tests Useless
Testing in Laravel can feel straightforward at first. You write a few tests, run php artisan test, see green output, and move on. But here’s the uncomfortable truth: many passing tests don’t actually protect your application.

Advanced Templating Patterns in Twig 3.24.0
In this deep dive, we are going to abandon the archaic practice of passing unstructured arrays to our views. Instead, we will leverage PHP 8.x Attributes, strictly typed Data Transfer Objects (DTOs) and Symfony 7.4’s #[MapRequestPayload] to pass pristine, validated data directly into Twig 3.24.0’s newest features.

I Studied the etcd Codebase — and It Changed How I Write PHP
There's a common piece of advice: "Want to write better code? Read good code." Sounds obvious. Rarely practiced.

PHP and Legacy Code: A Survival Strategy for Migration and Refactoring in the AI Era
The market is currently flooded with code generation and optimization tools powered by various neural networks. These tools excel when the code is at least somewhat structured, using common patterns and modern frameworks.

Your Laravel app is probably slower because of query shape, not Eloquent itself
Most Laravel Eloquent query bottlenecks are not caused by Eloquent being inherently slow. They happen because Eloquent makes expensive database behavior feel cheap.

Tutorials and Talks

How we solved logging at Appwrite
A few weeks back I came across a post by @boristane sharing a website he made, loggingsucks.com. It caught my eye because it had been shared by my favorite tech YouTuber, @theo. 

How to Add Skip Links to Any WordPress Theme
Skip links are one of the most important accessibility features and one of the most overlooked.

How I implemented 4 AI agent standards on a vanilla PHP blog (with code)
Cloudflare released isitagentready.com a scanner that grades your site's readiness for AI agents. My blog scored 50/100. No frameworks. No Node. Just PHP, MariaDB, and shared hosting.

How I Structure Large Laravel Projects (My Personal Architecture Blueprint)
Every Laravel tutorial starts the same way: create a controller, write some Eloquent in it, return a view. It works for a demo. It collapses under the weight of a real application.

How to Set Up Apache Virtual Hosts on an Ubuntu
Apache Virtual Hosts allow you to host multiple websites or applications on a single server. Each domain or subdomain can point to its own directory, making it possible to run separate projects side by side.

How Laravel Events, Listeners, and Observers Actually Work (And When to Use Each)
A new user registers on your SaaS. You need to send a welcome email, provision their free trial, log the signup event, and notify your Slack channel. Where does that code go?

How to Print Alphabet T Pattern in PHP Using Loop (Step-by-Step)
In this tutorial, you will learn how to print the alphabet “T” pattern using PHP loops.

Moving from wkhtmltopdf to Gotenberg in a Symfony Legacy App Without Breaking Everything
A practical migration note about decoupling PDF generation, moving rendering out of the API container, and rolling it out one document type at a time.

News and Announcements

Integrating Community Feedback into Foundation Strategy Part 1
Oh my friends, we have so much to talk about. I’ve been with The PHP Foundation for a few weeks, and many people have asked me about my vision, goals, and strategy for the upcoming year. In my opinion, The PHP Foundation’s stated mission of ensuring the long-term prosperity of the PHP language can be interpreted many different ways. 

Spatie Shares Their Coding Guidelines as AI Skills
The Spatie team has open-sourced their internal coding guidelines as reusable AI skills via spatie/guidelines-skills. Skills are reusable instruction sets for AI coding assistants that activate automatically based on context — think of them as project-aware prompts that keep an AI agent aligned with your team's conventions without repeated manual guidance.

Attach PDFs Directly to Mailables in laravel-pdf 2.6.0
Spatie's laravel-pdf v2.6.0 adds the Attachable contract support to PdfBuilder, so you can pass a generated PDF directly to attach() in a mailable or notification without saving it to disk first.

Composer 2.9.6 Fixes Two Perforce Command Injection Vulnerabilities
Composer has released version 2.9.6 and 2.2.27 LTS to address two command injection vulnerabilities in its Perforce VCS driver: CVE-2026-40261 and CVE-2026-40176.

April 13–19, 2026- A Week of Symfony #1007
This week, Symfony UX released the 2.35 maintenance version and the new 3.0 major version, which removes all deprecated features and updates the PHP and Symfony requirements. In addition, we published more information about the upcoming SymfonyLive Berlin and SymfonyOnline June confernces.

SymfonyDay Montreal 2026 - Schedule is Live!
The moment you’ve all been waiting for has finally arrived. After weeks of reviewing great proposals, we are thrilled to announce that the official schedule for SymfonyDay Montreal 2026 taking place on June 4, 2026 is now available!

Podcasts and Vlogs

Laravel News: Rust language servers, JSON Alexander, and Cloud CLI
Jake and Michael discuss all the latest Laravel releases, tutorials, and happenings in the community.

The Stack Overflow: We still need developer communities 
Ryan welcomes Mike Swift, co-founder and CEO of Major League Hacking, to the show to chat about the never-ending need for software developer communities and entry points into programming.

Software Engineering Radio: SE Radio 716: Martin Kleppmann Local-First Software
Martin Kleppmann, Associate Professor at the University of Cambridge and author of the best-selling O’Reilly book, Designing Data-Intensive Applications, talks to host Adi Narayan about local-first collaboration software. 

Shoptalk Show: 711: Where did Oh My Zsh Come From? And Using Rails in 2026
We've got Robby Russell, maintainer of Oh My Zsh, on the show to talk about why Chris has it installed, what makes a good Zsh plugin, Oh My Zsh plugins Robby recommends, what it's like working in Rails in 2026, dealing with project dependancies, and how Rails apps make use of frameworks?

WP Builds:  464 – Why Brian Gardner is betting big on Block Themes
In this episode, Nathan interviews Brian Gardner about his pioneering work in WordPress theming, the rise and impact of the Genesis Framework, and the shift toward block-based themes. 

PHP Architect: PHP Alive And Kicking: Episode 22 Sara Golemon 
Sara Golemon returns to the show — her first appearance was way back in Episode 2 — for a deep dive into Git Worktrees, a powerful but underused Git feature that lets you work on multiple branches simultaneously without the overhead of stashing, context-switching, or rebuilding from scratch. The episode covers practical real-world use cases, a live demo on the PHP source repo, Docker/Lando integration, and some lively chat about AI, scripting, and developer productivity.

Mostly Technical: 128: LaraProm
Ian and Aaron discuss Solo finally being ready & why its MCP capabilities are so intriguing, LaraProm (?!) at Laracon US (!), Ian's conundrum corner, and more.

Syntax: Rating and Roasting Your Projects
Scott and Wes dig into a huge batch of community-submitted projects, from JSON tools and CSS editors to AI agents, view transitions, and everything in between. 

Reading and Viewing

My 2 cents on the Spatie guidelines agent skills
I saw on Laravel-news a post about Spatie guidelines. Because other peoples guidelines are always a chance to learn something new, I thought it would be fun to read through them and provide comments. I'm going to focus on the PHP/Laravel guidelines.

Laravel belongsTo & belongsToMany: Mastering Ownership and Many-to-Many Relationships
In the previous article on hasMany, we looked at the relationship from the parent's perspective — a Chef owns many Recipes. But relationships are two-way streets.

Why 100k RPS Kills PHP, Not Nginx
100k RPS on a single PHP server. Some call it high load. PHP calls it a last request. Here’s the math.

Stop Using These Bad PHP Practices in 2026
A senior developer’s honest guide to the PHP habits that are quietly killing your codebase — and what to do instead.

Containerizing Moodle: Part 2: Building Images and Containers
Docker needs getting used to, and in this article, we will do some very basic maneuvering to gain confidence.

Beyond Breeze: Community Laravel Starter Kits Worth Knowing
Laravel’s official starter kits — Breeze, Jetstream and languages related kit’s are solid. They do the job, they’re well-documented, and they’re maintained by the core team. But if you’ve been building Laravel apps for a while, you’ve probably noticed that “solid” doesn’t always mean “exactly what you need.”

PHP 8.5: Deep Dive into New Features and RFCs
This article is not a generic overview. Instead, we take a deeper, more technical look at the upcoming changes, with practical code examples and analysis of their real-world impact.

Dependency Injection in PHP: Laravel’s Magic vs. Symfony’s Explicitness
A practical comparison of dependency management philosophies using a third-party weather API integration.

Interesting Projects, Tools and Libraries

helhum/typo3-console
A reliable and powerful command line interface for TYPO3 CMS.

yosymfony/resource-watcher
A simple resource watcher using Symfony Finder.

buggregator/trap
A simple and powerful tool for debugging PHP applications.

livewire/blaze
A tool for optimizing Blade component performance by folding them into parent templates.

matthiasnoback/symfony-config-test
Library for testing user classes related to the Symfony Config Component.

simplesamlphp/xml-common
A library with classes and utilities for handling XML structures.

patrickschur/language-detection
A language detection library for PHP. Detects the language from a given text string.

hammerstone/sidecar
A Laravel package to deploy Lambda functions alongside your main application.

shipmonk/phpstan-baseline-per-identifier
Split your PHPStan baseline into multiple files, one per error identifier. Supports both neon baseline and PHP baseline.

creativeorange/gravatar
A Laravel Gravatar package for retrieving gravatar image URLs or checking the existance of an image.

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:


encrypt php scriptsProtect 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?

Like us on FacebookFollow us on Twitter
We are still trying to grow our list. If you find PHP Weekly useful please tweet about us! Thanks.
Also, if you have a site or blog related to PHP then please link through to our site.

unsubscribe from this list | update subscription preferences 

Subscribe! Enter your email address below:

NO SPAM: We absolutely hate spam. We will not share, rent, or give away your email address to anyone.You can unsubscribe at any time. Easily!

Talk to us!

If you have some news, want to share a link with us or chat with us feel free to email us.

And we also have an RSS feed that you can use.

Like us on FacebookFollow us on Twitter

Copyright © PHPWeekly.com