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!

July 2, 2026

Hi everyone,

We've gathered the best and latest news from the PHP community and send it straight to your inbox. This week we have a rundown of PHP internals news, the latest CakePHP and Symfony releases all in the News section of our newsletter. In Tutorials we have guides on Bootstrap Selectpicker with CodeIgniter, Creating Short Links, and How Eloquent observers hook lifecycle events in Laravel. Finally in our Reading section we have articles on Redis on Windows with Laragon and Laravel, Laravel From Version 5 To Today, and The Array Bug That Looks Different in PHP, Python, and JavaScript (But Is Really the Same Bug). 

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

Single Responsibility Principle (SRP)
The single-responsibility principle (SRP) states that there should never be more than one reason for a class to change. In other words, every class should have only one responsibility. 

Resolve the tenant from the user, not the request
The request was telling the app which tenant to load, and the app believed it. In a multi-tenant SaaS, every query is implicitly scoped: "give me this tenant's dashboards." 

AI Agents For Laravel/Symfony Projects
Laravel and Symfony projects are great places to use AI agents. Not because PHP is "easy" (it isn't), but because PHP backends carry a lot of real business logic.

The Array Bug That Bit Me in Three Languages — And How to Stop It Biting You
I once spent three hours debugging a shopping cart feature. The prices were wrong. The items were out of order. Nothing made sense — until I realized I’d mentally switched from PHP to Python mid-sprint and carried the wrong assumptions about how arrays work.

Best Laravel Project Structure for Scalable Applications: Clean Architecture & Best Practices
One thing I’ve learned after building several Laravel applications is that project structure matters more than most people think. When you’re building your first application, it’s tempting to put everything wherever it works.

The Problem with Calendars in Livewire and UX Live Components
The go-to solution for a calendar has been a JavaScript widget: FullCalendar, Pikaday, flatpickr, or one of a dozen others. These libraries own the DOM. They render their own markup, manage their own state, and respond to user interaction by mutating the DOM directly.

5 PHP Features You're Probably Not Using (But Should)
These aren't obscure tricks. They're tools that ship with modern PHP — and once you start using them, you'll wonder how you lived without them.

One Failing API Should Never Take Down Your Entire Laravel App
The first time an external payment API began returning 503s during a peak-traffic window, we did not have circuit breakers. Every PHP-FPM worker sat waiting for a response that was never coming. Queues backed up. The database connection pool ran dry. Within four minutes, what started as their outage became ours.

Tutorials and Talks

Ship AI with Laravel: Test Your AI System with Zero API Calls
In this episode we test the whole thing with Pest and zero API calls, using the SDK's faking system. It works exactly like faking mail, notifications, or queues in Laravel. You define the responses up front and assert that the right prompts went out.

How Eloquent observers hook lifecycle events in Laravel
An OrderObserver runs side effects at each stage of a model's life — creating, created, updated, deleting, and restored.

Bootstrap Selectpicker with CodeIgniter — Dynamic Rows & Refresh
Fix the most common Bootstrap Selectpicker issues in CodeIgniter — dropdowns not initializing on dynamic rows, DataTables conflicts, AJAX-loaded data, and the refresh pattern that actually works.

The Paywall That Wasn't: Debugging a 919-Video Leak on WordPress
The ticket was three sentences long: "Some paid members can't play the on-demand videos. They log in, click a video, and still get told they need a membership. Can you fix it tonight?"

How to Deploy a PHP Website for Free: A Beginner's Guide
Stop letting hosting costs stop you from building. If you have just finished building your first PHP website, congratulations!

How to Build a Support Ticket System in CodeIgniter 4 — With Role-Based Visibility and Email Notifications
Most tutorials show you CRUD forms. But real client projects need more.

Creating Short Links with PHP: A Practical Guide
In this article, we'll build short links from PHP using an API.

The Beginner’s Guide to WordPress Plugins: What They Are and Why You Need Them
So, how do you transform a basic blogging layout into a fully functional online shop, a secure membership portal, or an SEO powerhouse?

How to Build Authentication in Laravel 11 with Breeze (Login, Registration & Security Best Practices)
A beginner-friendly guide to Laravel authentication, Breeze, sessions, route protection, and the security practices you should understand before putting your application online.

News and Announcements

Maintaining PHP Build infrastructure for Windows: Tooling for builds and security updates
Most PHP developers never think about how PHP is built. They download it or install it using a command or a pre-built image and get started with their work. That is exactly how it should feel. A build system is doing its job when the final result looks great and works as expected.

This Week In PHP Internals | June 24, 2026
This week's episode our new gauge for whether the software you ship actually lasts. Velocity tells you how fast you ship; Ballast tells you whether it stayed shipped — one durability score, read straight from your git history. No survey, no black box.

CakePHP 5.4.0-RC2 (pre-release) is available now! 
Lots of tasty updates in this one.

Help make Filament faster!
Over the years, the Filament team has done a lot of work behind the scenes to make Filament the fastest, most performant option available for building your applications in the TALL stack. Most recently, they did a huge rework of the tables package that massively decreased render time in the v3 to v4 upgrade.

Symfony 8.1.1, 8.0.14, 7.4.14, & 6.4.42 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.

June 22–28, 2026 - A Week of Symfony #1017
This week, maintenance versions 6.4.42, 7.4.14, 8.0.14, and 8.1.1 were released. In addition, development activity for the upcoming Symfony 8.2 version was intense, adding new features such as a Cron constraint for validating cron expressions, single-use signed URLs, a visual indicator for dumped variables in the profiler, and support for passing non-string parameters to constraints.

Podcasts and Vlogs

Laravel News: State of PHP, Caching Laravel, and Monitoring Apps
Jake and Michael discuss all the latest Laravel releases, tutorials, and happenings in the community.

The Stack Overflow:  Why intent prediction needs more than an LLM
Ryan sits down with Frank Portman, CTO at Yobi, to talk about why next-token prediction, though great for language, isn’t the right inductive bias for forecasting human behavior. 

Software Engineering Radio: SE Radio 726: Scott Kingsley on the Swagger Ecosystem
Scott Kingsley, a VP of Engineering at SmartBear, speaks with host Gregory Kapfhammer about the Swagger ecosystem. They discuss the user interface, editor, and Swagger CodeGen and how these tools support the creation and documentation of OpenAPI-compatible APIs. 

Developer Tea: Why Can't You Go Faster With AI? Focus on the Friction to Find Out
The skills you spent years building are getting cheaper to replicate—but that's not where the friction lives. In this throwback episode, I unpack why agentic coding hasn't made your team faster, and why the answer is the oldest model in the book: the theory of constraints. If you're a manager or a senior engineer being asked "why can't this go faster," this one's for you.

Shoptalk Show: 721: New Gear, Nerding Out, and VS Code Forks
What to do when you have more ideas than time, getting new musical gear, nerding out and getting excited about things, the state of conferences in 2026, Cursor being bought, and Dave's got a minimum viable design system idea.

WP Builds:  473 – Creating visual stories in WordPress using the Shorthand plugin
The podcast today is all about the Shorthand plugin, a visual storytelling platform that helps create immersive, interactive content for WordPress. 

PHP Architect:  The PHP Podcast 2026.06.25
Eric Van Johnson & John Congdon Eric and John are back. Sara and Holly did a better job. Eric’s computer still hates him.

Mostly Technical: 137: You Do Have To Care w/ John Drexler & Daniel Coulbourne
Aaron is joined by John & Daniel of Thunk to talk about why you should think like a PM, what they want to see from Solo, trash cans in New York, "footy", and a whole lot more.

Syntax: More Bots Than Humans
Wes, Scott, and CJ break down the latest web dev news. From AI agents and coding tools to Deno Desktop, Nub, and predictive UX. They also discuss bot-filled social media, remote work debates, and a slick 3D bookstore experience.

Reading and Viewing

The Array Bug That Looks Different in PHP, Python, and JavaScript (But Is Really the Same Bug)
PHP copies arrays by default. Python and JavaScript share references by default. If you switch between these languages and don't switch your mental model with them, you'll spend hours debugging an array that "shouldn't" have changed. Here's the breakdown, with code, for all three.

Redis on Windows with Laragon and Laravel: The PATH Issue That Looks Like a Redis Issue
A few days ago, I was working on a Laravel project on Windows. The project needed Redis for cache and queue handling, and since I was using Laragon, I thought the setup would be simple.

Laravel From Version 5 To Today: The Framework Grew Up With Us
Have you ever opened an old Laravel 5 project and felt like you were walking into a house where every room was added in a different decade?

Life is too short for a slow terminal
Practically all of my work happens inside a terminal. Git, kubectl, tmux, ssh'ing into a server, open practically the entire day. Something I use that much has to be fast. Any lag in opening a new tab, typing a character or hitting tab for a completion is something I feel hundreds of times a day. It's death by a thousand cuts.

Why I hate arrays as data objects
In PHP and Javascript at least, an array is just a box of boxes. They have no inherent constraints over what is inside that box, let alone the boxes inside it, and no way to define or impose a structure either (save for writing custom logic which checks and throws exceptions — yuck!).

Interesting Projects, Tools and Libraries

badinansoft/nova-language-switch
A Laravel Nova package to switch language in your application.

lullabot/drainpipe
An automated build tool to allow projects to have a set standardized operations scripts.

josegonzalez/cakephp-upload
CakePHP plugin to handle file uploading sans ridiculous automagic.

php-standard-library/async
Fiber-based structured concurrency using cooperative multitasking.

stellarwp/assets
A library for managing asset registration and enqueuing in WordPress.

kartik-v/yii2-field-range
Easily manage Yii 2 ActiveField ranges (from/to) with Bootstrap 3 addons markup and more.

qase/php-commons
Library with common classes for Qase PHP reporters.

zing/laravel-scout-opensearch
Laravel Scout custom engine for OpenSearch.

durable-workflow/workflow
Durable workflow engine that allows users to write long running persistent distributed workflows (orchestrations) in PHP powered by Laravel queues.

bandwidth-throttle/token-bucket
Implementation of the Token Bucket algorithm.

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