Hi everyone,
No community can grow without the contribution of its members. That's why we always appreciate it when people send in their articles to share with the rest of our subscribers. This week, Yannick Chenot shares a tutorial on catching Caching Static Pages in a Laravel Application. We also have an excerpt from Kerrial Newham's book, 'Legacy to Symfony: The Enterprise Blueprint for Zero-Downtime PHP Migrations'. Do check out his article, The Boardroom Argument That Kills More Migrations Than Bad Code. Finally in our Reading section we have articles on Redis Crash Course for Laravel Developers, Orphan Cleanup and State Reconciliation, and Modern PHP Development: Building Secure, Scalable, and Maintainable Web Applications.
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
The Boardroom Argument That Kills More Migrations Than Bad Code
Standard risk frameworks assume known probabilities. A legacy migration doesn't give you those. Here's how to change the conversation before you walk into the room.
Lowering the Floor: What Shipped Across Five PHP Extensions
Most libraries raise their minimum PHP version over time. Drop 8.1, require 8.2, then 8.3, because every release you can assume lets you delete a pile of compatibility shims. This round I went the other way. php_excel, fastchart, and fastjson now build on PHP 8.1, phpser dropped to 8.2, and all four had required 8.3 a release ago.
What I Look For in a Laravel Project Before Writing a Single Line of Code
After 10 years of joining projects mid-way — some clean, most not — I've developed a codebase triage process I run before touching anything. It takes 90 minutes. It has saved me from several catastrophic commitments.
Composer Update Is Not Safe Anymore
Saturday morning. I opened Twitter and saw a tweet about the Laravel-Lang packages being compromised. My first reaction was simple: "I don't use that package."
Secure Coding in PHP: Building Applications That Resist Attacks
Secure coding is not an optional enhancement; it is a fundamental requirement of modern software development.
Deep dive into Symfony 8.1’s Console image input
The first time I saw this at the AFUP Day Lyon, I was impressed. A console command asks for an image, and instead of typing a path you just hit Ctrl+V, paste a screenshot straight from your clipboard, and the command reads it.
|
Tutorials and Talks
Caching Static Pages in a Laravel Application
This post covers the full setup: from a dedicated middleware group in Laravel to the Cloudflare cache rules that wire it all together.
Use Laravel to create your own MCP server
Claude can already work with your Laravel app. Not by you hand-building a REST API, writing a client, and describing every endpoint to it, but by exposing a few tools over the Model Context Protocol (MCP) and letting the model call them directly.
Pinpoint rollback — building per-plugin revert with WP-CLI
You batch-update 20 plugins, and one breaks the site. Most WordPress maintenance tools play it safe and roll back all 20 updates (variations on "Safe Updates" or "Atomic Updates"). It's a reasonable default.
Search Autocomplete Systems — Complete Guide
An autocomplete system predicts and suggests query completions as a user types, character by character. The goal is to reduce typing effort, surface popular or relevant queries, and improve UX through speed.
How a PHP SDK Can Save You Hundreds of Lines of API Integration Code
Most APIs provide documentation, examples, and maybe even a Postman collection. That's usually enough to get started. But once your application grows, you'll quickly discover that working directly with HTTP requests introduces a surprising amount of repetitive code.
Backing Up an API Gateway's Config — Per Connection, Restore-Safe
I spent today building a backup-and-restore feature for a Laravel app that manages multiple API gateway connections — each connection being a separate gateway environment (think prod, staging, a client's cluster).
How to Fix the 500 Internal Server Error in WordPress & Elementor
WordPress white screen or a 500 error? Before you start disabling plugins at random for an hour, do this one thing first — it tells you the actual cause.
How a Five Line Architecture Test Caught a Data Leak a Code Review Missed
TL;DR: Pest PHP can test the structure of your code, not just its behavior. Write your team rules as architecture tests and CI enforces them on every commit. One such test caught a multi-tenant data leak that a human review had missed.
USPS Just Broke Your Magento Shipping. Here's the Fix.
If your Magento store still depends on the old USPS Web Tools integration, you should assume your shipping rates are either already broken or one change away from breaking.
Deploying Symfony 8 to cPanel Step by Step guide
Most deployment guides online assume you can run Composer, clear caches, execute migrations, and run Symfony commands directly on the server.
Fixing Magento 2 Docker 502 Bad Gateway Error: Image Mismatch
If you've worked with Magento 2 on Docker, you've probably come across "Mark Shust's Docker setup" (https://github.com/markshust/docker-magento). I've used it on multiple projects and it's usually rock solid.
How to Update Composer Dependencies in Laravel Safely
A free Claude Code skill that turns composer outdated into a clear plan, and finds replacements for dead packages. |
News and Announcements
Contribute to the State of PHP Survey
Together with The PHP Foundation, we’re embarking on an exciting expedition – the first annual State of PHP census that aims to tally the elePHPant population across the world. Come join us!
Laracon US 2026 Reveals Its Full Speaker Lineup
Laracon US has announced the full speaker lineup for its 2026 conference, headed to Boston on July 28-29. The list pulls together the Laravel core team, well-known community names, and a few faces from outside the framework.
Typed Translation Accessors in Laravel 13.15.0
The Laravel team released v13.15.0 with typed translation accessors, JSON Schema deserialization, a dedicated Cloud queue driver, and a couple of security-related validation and routing fixes.
June 8–14, 2026- A Week of Symfony #1015
This week, we celebrated the SymfonyOnline June 2026 conference. In addition, we published a new case study showcasing how Symfony helps power the rental real estate market. Lastly, we continued publishing articles about new features in Symfony and Twig.
PHP Through a Screen Reader: Small Syntax Choices That Matter
I'm a backend developer, and PHP is my main language; it is also my favorite one. I've been developing in PHP since 2008, and today, when I start a web project, I choose PHP proudly, because I know what works well for me.
|
Podcasts and Vlogs
Laravel News: Discovering Listeners, Ecosystem Security, and Eloquent Types
Jake and Michael discuss all the latest Laravel releases, tutorials, and happenings in the community.
The Stack Overflow: If context is king, architecture is the castle
Recorded live at the AI Agent Conference, Ryan sits down with Apollo GraphQL CEO Matt DeBerglis to discuss how enterprises can leverage GraphQL and MCP as a structured semantic architecture to feed clean data to autonomous agents, safeguard internal microservices against unprecedented "east-west" data exfiltration risks, and rein in skyrocketing token spend by explicitly querying only the exact context required.
Maintainable Podcast: Chris Coyier: The Long Game of Maintaining CodePen
In this episode, Robby Russell talks with Chris Coyier, co-founder of CodePen, about the long game of maintaining software. Chris shares how CodePen has evolved over time, the trade-offs involved in migrating parts of the platform from Rails to Go, and the challenges of balancing maintenance work with the desire to build what's next.
Software Engineering Radio: SE Radio 724: Jure Leskovec on Relational Graph and Foundational Models
Jure Leskovec, Professor of Computer Science at Stanford University and Chief Scientist at Kumo.ai, speaks with host Sriram Panyam about relational and graph language models and their transformative impact on enterprise decision-making and predictive modeling.
Developer Tea: Principles Oriented Thinking as a Durable Skill in an AI First World
In this episode, Jonathan explores principle-oriented thinking: the practice of stripping away the labels we attach to tools, roles, and even ourselves to see what something actually does at its core.
Shoptalk Show: Estimating Project Time, React Server Components, and Lifetime Offers
How do you estimate how long a task or project is going to take? Is it easier or more difficult with AI's help? Were web components a mistake? What do we think about Cloudflare's EmDash now? And are lifetime offers a good or bad thing in the dev community?
WP Builds: 471 – Miriam Schwab discusses Angie AI and Elementor’s future in WordPress
The conversation focused on Angie, Elementor’s AI-driven tool for WordPress, highlighting its integration, ease of use, and ability to generate custom code snippets and widgets without requiring Elementor’s page builder.
Laravel Podcast: Abby Gilson on Laravel’s Events & Laracon US Boston
In this episode, Matt Stauffer talks with Abby Gilson — Laravel's recently promoted field marketing manager, better known in the community as "Gen Z Abby" — about the winding path that took her from studying for the LSAT to running events for one of the web's most passionate developer communities.
PHP Architect: The PHP Podcast 2026.06.11
PHPVerse just wrapped up, and Elizabeth was there in Amsterdam. The format is unusual — all speakers are flown to one location, but the audience is entirely virtual.
Mostly Technical: 136: Big, Audacious Goals
Ian and Aaron discuss why HelpSpot raised prices, what Aaron's building for teams with Solo, the short-lived reign of Fable 5, pros & cons of DJ's, and so much more.
Syntax: Who Decides What Ships on the Web?
Scott and Wes sit down with Jake Archibald from Mozilla to unpack how web standards actually get made at Firefox.
|
|
When Your App and the Gateway Disagree: Orphan Cleanup and State Reconciliation
Anyone who manages an external system from a Laravel app eventually hits the same uncomfortable truth: your database thinks one thing, the external system thinks another, and nobody told either of them they'd drifted apart.
I Stopped Following API Validation Best Practices. Here's Why.
For years, I followed what most Symfony developers would call best practices. A new API endpoint appeared in the backlog, and the process was always the same.
Modern PHP Development: Building Secure, Scalable, and Maintainable Web Applications
In this post, we will look at practical PHP development areas that matter most when building secure and scalable web applications.
Redis Crash Course for Laravel Developers
The first time you call a new pizza place, you look up the number and type it in. The next time, you don’t — it’s already saved in your contacts. Redis works the same way for your app.
The “Performance Bible” — The #1 Laravel Mistake That Kills Production Apps: The env() Trap
We’ve all seen it: A developer pushes their code to production, runs php artisan config:cache for the first time, and the entire application instantly turns into a pile of null values.
|
Interesting Projects, Tools and Libraries
tecnickcom/tc-lib-pdf-font
PHP library containing PDF page formats and definitions.
jordanbrauer/unit-converter
Convert standard units from one to another with this easy to use, lightweight package.
echolabsdev/prism
A powerful Laravel package for integrating Large Language Models (LLMs) into your applications.
technikermathe/blade-lucide-icons
A package to easily make use of Lucide icons in your Laravel Blade views.
stackkit/laravel-google-cloud-tasks-queue
Google Cloud Tasks queue driver for Laravel.
timacdonald/pulse-validation-errors
Validation errors card for Laravel Pulse.
patchlevel/worker
Gives the opportunity to build a stable worker that terminates properly when limits are exceeded.
nitotm/efficient-language-detector
Fast and accurate natural language detection. Detector written in PHP. Nito-ELD, ELD.
php-parallel-lint/php-var-dump-check
Find forgotten variables dump in PHP source code.
cerbero/json-parser
Zero-dependencies pull parser to read large JSON from any source in a memory-efficient 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 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?
|
|
|
|