Hi everyone,
This is our final edition for the year. We thank all of you for your continued support. Happy Holidays from all of us here at PHPWeekly, and we hope to see you again in 2026!
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
PHP Killed Dynamic Properties. Here's Why (And What to Do)
Starting with PHP 8.2, dynamic properties are deprecated. In PHP 9.0, they're completely gone. If you're seeing deprecation warnings in your Laravel 11 projects, this is why.
Say Goodbye to Cronjobs: It’s Time to Use Task Scheduler & Queue in Laravel
There is a much cleaner and more manageable solution in Laravel if your project still uses several cronjobs on the server, such as one for emailing, another for cleanup, and another for backups.
20 Years of Symfony in Code Stats
In 2025, we're celebrating 20 years of Symfony. Over these years, thousands of people have contributed code to Symfony. Some folks fixed a small typo in a comment, while others added more than 100,000 lines of code. All contributions are welcome and essential in a project as large and impactful as Symfony.
PHP 8.5 Pipe Operator (|>) – Is It Worth Using?
PHP 8.5 recently landed, so I wanted to try out some of the new stuff. Today I'm diving into the pipe operator (|>).
PHP fun: Signing C2PA with Let's Encrypt
I was made aware of C2PA in a video where they talked about how to be sure video, images and documents come from the claimed source. And they explained C2PA as going from http to https.
The Safety Fuse of Software: Implementing Circuit Breaker in PHP
We’ve all been there: You build a fantastic web application, everything is running smoothly, and then — boom. A third-party API you rely on (maybe for currency rates or a shipping provider) starts lagging.
|
Tutorials and Talks
Speeding Up Dashboards - Laravel In Practice EP16
Every time someone loads your dashboard, you're hitting the database. Every chart, every metric, every time period results in another query. When traffic spikes, your database feels it.
How to check if a string contains specific words in PHP
There are multiple ways to check if a string contains any words from the given array using PHP. You can check one specific word or multiple words from an array.
Using Custom Timestamp Columns in Laravel Eloquent
If you need to customize the column names for created_at and updated_at, you can do so at the database level.
How to Send Email in PHP: Complete SMTP and API Guide
In this PHP tutorial, I'll walk you through how to send emails effectively and securely using SMTP and through an email API.
Building a Decentralized Event Ticketing System Web3 with Symfony 7.4
In this article, we will build the backbone of a Decentralized Event Ticketing System using Symfony 7.4 and PHP 8.3.
Fixing Laravel Boost in Windsurf: A Global MCP Setup Guide
If you’ve tried adding Laravel Boost as an MCP server in Windsurf and hit “cannot initialize server”, you’re not alone.
Running Laravel Sail with Podman on macOS: A Step-by-Step Guide
In this guide, I’ll show you how to run Sail with Podman, step by step, and highlight common pitfalls with solutions.
How I Optimized Database Queries by 90% in a Laravel Application
When I inherited a Laravel application that was struggling with performance issues, the biggest bottleneck wasn't the code—it was how we were querying the database.
Supercharging Laravel CI/CD Pipeline: From 9 Minutes to 2 Minutes with Pre-built MySQL Images and Parallel Testing
In this article, I’ll walk you through how I reduced our GitLab CI pipeline execution time from 9+ minutes to just 2 minutes, 4.5x improvement by implementing pre-built MySQL Docker images and Laravel’s parallel testing capabilities. |
News and Announcements
CakePHP File Management Solution
Meet the New FileStorage Plugin. There’s a new player on the CakePHP block, and it’s bringing modern architecture, clean abstractions, and production-ready code to solve file management once and for all.
Flash Data in Inertia.js 2.3.3
Inertia.js added support for Flash Data, which sends one-time data to your frontend that shouldn't reappear as users navigate through the browser history.
Laravel 12.43 Released
The Laravel team released version 12.43, featuring new Eloquent collection methods to merge attribute visibility across a collection, make the HTTP client response macroable, and more.
PHP 8.1.34, PHP 8.4.16, PHP 8.2.30, PHP 8.3.29 & PHP 8.5.1 Released
The PHP development team announces the immediate availability of PHP 8.1.34, PHP 8.4.16, PHP 8.2.30, PHP 8.3.29 & PHP 8.5.1. This is a security release.
December 15–21, 2025 - A Week of Symfony #990
This week, we published an article about how we controlled 1,200 screens in real time with Symfony during SymfonyCon Amsterdam 2025. We also celebrated a new SymfonyCasts course on building Symfony bundles. Finally, we shared a blog post detailing 20 years of Symfony coding in numbers.
PHP 8.6 kicks off with partial function application
PHP 8.5 is still warm, but the work to push PHP forward continues. The latest major feature for PHP 8.6 has just been approved: Partial Function Application (PFA).
|
Podcasts and Vlogs
The Stack Overflow: Settle down, nerds. AI is a normal technology
Ryan welcomes Anil Dash, writer and former Stack Overflow board member, back to the show to discuss how AI is not a magical technology, but rather the normal next step in computing’s evolution.
No Compromises Podcast: Why senior developers feel wrong more often
In the latest episode of the No Compromises podcast, we explore why senior developers often feel "wrong" more frequently than they did earlier in their careers.
Software Engineering Radio: SE Radio 699: Benjamin Brial on Internal Dev Platforms
In this episode, Benjamin Brial, CEO and co-founder of Cycloid, speaks with host Sriram Panyam about internal developer platforms (IDPs) and internal developer portals.
Shoptalk Show: Happy Project Share Time (2025 Edition)
After a bit of gaming talk, Chris and Dave are sharing a bunch of cool projects that our Discord community members have been sharing over the past year including things like a web component based admin bar.
WP Builds: 450 – What just happened? Episode 5. WordPress in transition, 6.9, trademark battles, and AI
In this episode of WP Builds, Nathan Wrigley and Rae Morey recap the past few months in the WordPress ecosystem.
Laravel Podcast: A Laravel Conference in Japan with Ryuta Hamasaki
In this episode, Matt Stauffer interviews Ryuta Hamasaki, a senior software engineer at Laravel, who shares his journey from discovering Laravel to becoming a key player in the Laravel community.
PHP Architect: The PHP Podcast 2025.12.18
This week on the PHP Podcast, Eric and John talk about PHPStorm new release, PHPek and why going to a conference is still fire, Laravel Advent Calendar, what does your GitHub year look like?, and more.
Mostly Technical: 112: Token Machine
Ian and Aaron talk about Santa (obviously), do you still need an MBA (maybe not so obvious), why Ian isn't burning as many tokens as possible to get Outro out the door, what people are building with the Telegram API, and more.
Syntax: Baseline 2025 Features web gained in 2025
Scott and Wes break down the biggest web platform features that reached Baseline in 2025, separating the genuinely useful APIs from the niche and forgettable ones.
The Changelog: State of the "log" 2025
Our 8th annual year-end wrap-up is here! We’re featuring 8 listener voicemails, dope Breakmaster Cylinder remixes & our favorite episodes of the year. Thanks for listening!
|
|
When "Simple" Problems Aren't Simple: Hard-Learned Lessons from PHP's Hidden Gems
I thought I was a decent PHP developer. I knew Laravel, wrote clean code, and shipped features on time. Then a "simple" CSV import feature taught me I'd been solving the wrong problems all along.
Scaling Symfony 7.4 in the Cloud: Mastering the New “Share Directory”
In this artice, we will explore the new var/share directory, understand the critical problem it solves and implement a robust, production-ready configuration using Symfony 7.4, Doctrine and Flysystem.
Mastering PHP Attributes: From Zero to Hero
Deep dive into PHP 8+ attributes - learn to build custom attributes, attribute-based routing, and powerful validation systems with real-world.
Our PHP Monolith Was Working Fine — So Why Did We Change It?
Most stories about legacy systems start with a crisis. The system was slow, unstable, or hard to maintain. This one didn’t.
Simulating Сoncurrent Requests: How We Achieved High-Performance HTTP in PHP Without Threads
Your PHP app talks to multiple APIs, but its single-threaded nature keeps users waiting. What if you could handle thousands of concurrent requests — without threads, extra processes, or switching languages?
Using Custom Timestamp Columns in Laravel Eloquent
If you need to customize the column names for created_at and updated_at, you can do so at the database level.
|
Interesting Projects, Tools and Libraries
fuwasegu/guardrail
Laravel static analysis tool - Verify API routes call required methods (authorization, logging, etc.).
dhl/module-shipping-core
DHL component providing utilities and frameworks for advanced shipping features.
digitickets/omnipay-alert
Alert driver for the Omnipay payment processing library.
avtonom/sms-streamtelecom-bundle
Provider to send SMS notifications for Symfony2 bundle for PHP.
nehero/friendlytimezone
Display timezones to your users in a friendly way using locations as names.
ortic/hookable
Laravel Eloquent hooks system.
pckg/collection
Implementation for more human-like dealing with collections.
experteam/api-testing-bundle
Testing functionality bundle for APIs.
matthewbaggett/inflection
A library to allow for pluralisation and singularisation of words programmatically.
multicaret/laravel-acquaintances
This light package, with no dependencies, gives Eloquent models the ability to manage friendships (with groups), verifications, and interactions such as: Likes, favorites, votes, subscribe, follow, ..etc. And it includes advanced rating system.
|
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?
|
|
|
|