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!

May 29, 2025

Hi everyone,

This is your weekly supplement of php news and updates delivered straight to your inbox. This week we have  articles on the difference between php logging and monitoring, techniques and tips to optimise your laravel apps, measuring string similarities, and the third instalment in the series on architecting Laravel for scale. In Podcasts this week we have new episodes from No Compromises on understanding how stringable works, while North Meets South chats about refining talk submissions and other topics. Developer Tea explores the complex landscape of receiving advice in your career, while Nuno Maduro joins the team at Laravel podcast to discuss his journey from a traditional developer to becoming one of the key voices in the Laravel ecosystem. Finally in our Reading section we have articles on Laravel eloquent tricks, and efficient data handling in PHP with Generators.  

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

PHP Monitoring vs Logging: What’s the Difference and Why It Matters
When it comes to managing and maintaining PHP applications, two terms often come up: monitoring and logging. While they may sound similar — and sometimes even overlap — they serve very different purposes. 

All That You Need To Enhance Optimization in Laravel Apps
In this post, we’ll explore practical tips and techniques to optimize your Laravel applications and make them more efficient and scalable.

Traits in PHP – a powerful yet underused tool?
PHP does not support multiple inheritance. To work around this limitation, Traits were introduced in PHP 5.4. They allow injecting methods into several classes without using class inheritance.

Efficiently Measure String Similarity in PHP Applications
Measuring string similarity accurately is important for tasks like detecting typos in user inputs, matching similar database entries, improving chatbot responses, and identifying duplicate content. 

Top 7 PHP Performance Bottlenecks and How to Monitor Them
In this article, we’ll look at the most common PHP performance bottlenecks and how to monitor them effectively.

Architecting Laravel for Scale: Battle-Tested Patterns for Clean Code & High Performance (Part 3)
This is the third article in my series on architecting Laravel for large-scale, maintainable, and future-ready applications.

Tutorials and Talks

Process Markdown Securely with Laravel's inlineMarkdown Method
Laravel enhances string processing capabilities with the inlineMarkdown method, providing secure transformation of GitHub-flavored Markdown into inline HTML with built-in XSS protection and customizable security options.

Handle Missing Models Gracefully with Laravel's existsOr Method
Laravel introduces the existsOr method, providing an elegant solution for executing code when model queries return no results. This addition streamlines error handling and alternative logic for non-existent models.

Laravel 12 Generate PDF and Send Email Tutorial
In this tutorial, I will show you how to generate pdf file and send email attachments in laravel 12 application.

How to Build a Secure Authentication System in Laravel
Let me show you how to build a robust, secure authentication system in Laravel that protects your users — and your reputation.

Laravel Best Practices: Observers vs Event Listeners Explained
Choosing between Laravel Observers and Event Listeners? In this video, I break down the differences and when you should use one over the other,  to help you write cleaner, more maintainable Laravel code.

Mastering Large Datasets: Laravel’s chunk() and chunkById()
Fetching everything into memory at once is a recipe for disaster, memory exhaustion, slow responses, and an overall miserable user experience.

News and Announcements

Locale-aware Number Parsing in Laravel 12.15
The Laravel team released v12.15.0, with Locale-aware number parsing, a string hash() helper method, inject contextual attribute values, and more.

Sublime Text Releases Update With Support for Right Sidebar
Sublime Text released v4200 this week with support for a right sidebar, syntax highlighting improvements, rewritten syntax highlighting for languages like SQL, Diff, Bash, new syntax highlighting for ZSH and TOML, and more.

New in Symfony 7.3: Serializer Improvements
Symfony 7.3 adds a new JsonStreamer component as a high-performance, low-memory JSON encoding and decoding utility. However, the Serializer component still has many valid use cases, even for JSON content, thanks to its rich feature set and flexibility. In Symfony 7.3, we've improved it with several new features.

Symfony 7.3.0-RC1 released
This is a pre-release version of Symfony 7.3. If you want to test it in your own applications before its final release, run the following commands.

May 19–25, 2025 - A Week of Symfony #960
This week, development activity focused on putting the final touches on Symfony 7.3 in preparation for its stable release next week. In addition, we published a security fix for a potential vulnerability in Symfony UX.

Join JetBrains PHPverse to Celebrate 30 Years of PHP - June 17, 2025
PHP turns 30 this June, and we’re looking forward to celebrating this notable milestone together with you! 

Podcasts and Vlogs

The Stack Overflow: Can a dev environment spark joy? The Android team thinks so. 
Matthew McCullough, VP of Product for Android Developer Experience, sits down with Ryan to talk advancements in Android development, enhancing developer efficiency and reducing routine toil, and the application of Gemini AI models to improve software toolchains.

No Compromises Podcast: Understanding how Stringable works inside Blade views
Joel and Aaron dig into Laravel’s `Stringable` class and uncover how it can silently skip Blade’s automatic HTML escaping. They explain why that’s both a convenient feature and a potential security pitfall if user input isn’t properly sanitized. You’ll hear practical ways to keep your views safe without losing the API’s fluency.

North Meets South Podcast: Stealth grills, metric takeover, and selecting conference talks 
In this episode, Jake and Michael discuss Jake's new stealth grill, his eldest son's takeover of the state finals (and metric's takeover of measurement), and Michael goes through the process of refining over 150 talk submissions down to the final Laracon AU schedule.

Software Engineering Radio: SE Radio 669: Will McGugan on Text-Based User Interfaces
Will McGugan, the CEO and founder of Textualize, speaks with host Gregory M. Kapfhammer about how to use packages such as Rich and Textual to build text-based user interfaces (TUIs) and command-line interfaces (CLIs) in Python.

Developer Tea: Advice on Advice - Taking Everything with a Grain of Salt
This episode explores the complex landscape of receiving advice in your career, particularly during uncertain times. 

Shoptalk Show: What Are the Evils of the Web Platform?
How it all comes back to the why column, dark patterns, privacy and tracking, getting emails forever from one purchase, how to be bold with communication while still being respectful, HTMHell, CSS mistakes, are we anti-JSON, and the state of FitVid in 2025.

WP Builds: 422 – Streamlining WordPress Agency Workflows: Zach Hendershot Introduces Miruni 
In this episode, I chat with Zach Hendershot about Miruni, an AI-powered tool designed to streamline edit requests for WordPress agencies. 

Laravel Podcast: Co-Creation and Live Streaming Laravel with Nuno Maduro
In this episode, Matt Stauffer chats with Nuno Maduro, a prominent Software Engineer at Laravel, about his journey from a traditional developer role to becoming a key voice in the Laravel ecosystem.

Mostly Technical: 84: Fabricated Hype
Ian and Aaron discuss the need for an AI Newsletter, being beamed up to the mothership, web components, and more.

Syntax: You Should Learn Nuxt!
Overview of the Nuxt meta-framework, its capabilities, and why CJ enjoys using it to build full-stack Vue applications.

The Changelog: Dull, dirty or dangerous
We sit down with Scott Hanselman at Microsoft Build 2025 to discuss open sourcing all the things, cool stuff Windows can do, where we want (and don’t want) AI to fit into our lives, building arcade cabinets, and so much more.

Reading and Viewing

Early Return vs. Classic If-Else: A Universal Pattern for Writing Cleaner Code
Writing conditional logic is something every developer does—no matter the language. But how you structure those conditions affects how readable, testable, and maintainable your code becomes.

Boost Performance with Laravel’s Memo Cache Driver
Need to reduce cache hits during request execution? Laravel’s memo cache driver provides an in-memory layer that temporarily stores resolved cache values, significantly improving performance.

Laravel Eloquent Tricks: Check What Changed Before and After Saving a Model
In this article, you’ll learn how to use powerful Eloquent methods like isDirty, isClean, wasChanged, getOriginal, getChanges, and getPrevious to detect and inspect attribute changes in your models.

If you think coding is your job… you’re in the wrong profession
Writing code is easy to measure. It’s easy to show progress. It’s even fun. But the real mission of software development lies somewhere else: in solving the right problem, with the right tools, at the right time, in a way that lasts.

PHP 8.5 Pipe Operator RFC: What It Means for Developers
In this blog post, I want to address the upcoming new operator, the meaning of piping in general and its history and give a final conclusion along with my opinion.

From Eating Up PHP Spaghetti to Hexagonal Architecture
How a chaotic, single-file to-do list became a clean, testable, extensible application — without using any frameworks.

Forget newFactory(): Use Laravel's UseFactory Attribute Like a Pro
This article dives deep into how UseFactory simplifies factory usage in Laravel, especially in domain-driven or modular architectures, and how it can streamline your development experience.

Efficient Data Handling in PHP with Generators
Handling large files (for example, CSV/text files) or HTTP data streams in PHP can be challenging, especially when using traditional methods that load all data into memory. In this article, we’ll compare two approaches

Interesting Projects, Tools and Libraries

lifeonscreen/nova-google2fa
This package provides Google2FA to Laravel Nova.

wpdesk/wp-mutex
Library for locking in Wordpress.

tweakers/symfony-service-mock
Proxy layer to allow services to have their internals replaced with a test double, without affecting a service-container's (i.e. Symfony) bindings.

davaxi/sparkline
PHP Class (using GD) to generate sparklines.

brussens/yii2-avatar-behavior
Behavior for the transparent operations of avatar thumbnails.

zauberfisch/silverstripe-better-form-validator
Easy custom Form Validation for SilverStripe.

antonienko/php-template-previewer
For designers testing their framework views without the working backend code.

odan/slim-session
A Slim session handler.

phpgt/cssxpath
Convert CSS selectors to XPath queries.

kwaadpepper/enum
Enums to use for any project.

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 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?

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