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 1, 2025

Hi everyone,

It's a brand new month with a brand new newsletter. This week we have articles on PHP Quines, Improving your Object Oriented code and avoiding image copyright issues in WordPress. In Podcasts we have new episodes from No Compromises where they ask the common pushback reply of 'we don't have time', hides a priority problem. Laravel Podcasts chats with Taylor Otwell to dive into the latest developments in the Laravel ecosystem, while Syntax gives you tips on how to make your app feel faster than it really is. Finally in our Reading section we have articles on Mastering Laravel advanced eloquent features, Immutable types in PHP, and features for the upcoming PHP 8.5. 

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

Object Calisthenics in PHP with Laravel: Improve Your Object-Oriented Code
Have you ever written Laravel code that works… but feels messy, hard to test, or hard to maintain?

PHP Quines: Self-Replicating Code Explained
PHP offers several ways to create quines - programs that output their own source code. Here's a technical dive into these self-replicating curiosities.

Make a Laravel Blade App Feel Like a Single Page Application (SPA) — Without Vue or React!
In a recent project, I wanted to keep my Laravel Blade setup super lightweight — no Vue, no React, no heavy front-end frameworks. But I still wanted smooth page transitions like a real SPA, without full-page reloads every time users clicked a link.

From Idea to 1,000+ Stars: How Laravel Workflow Took Off
I was working at a fintech company, wrestling with long-running processes that felt like a constant headache. We were using queued jobs that polled to check if an earlier step had completed, requeueing themselves if it hadn’t. 

Simple PHP OOP for IP Blocking and Whitelisting
In this article, we'll explore how to implement IP blocking and whitelisting in your PHP applications using Object-Oriented Programming (OOP). This approach provides a clean, reusable, and easy-to-understand way to manage access control.

How to Avoid Image Copyright Lawsuits in Wordpress
Have you ever written an article? Or maybe multiple articles? If so, you’ve probably put some cool images in them. But have you ever thought about who their authors are and what licenses they use? 

Tutorials and Talks

Batch curl requests in PHP using multi handles
Recently I had a task at work, in which I had to send a decent amount of HTTP requests within a script. Naturally, one of the first ideas was to use a batching mechanism to send multiple requests in parallel. 

Validating Requests in Laravel: Simple, fast, and safe
In Laravel, validating incoming data is very easy — and it makes a big difference in keeping your app secure and reliable!

How to Fix "MySQL Unexpected Shutdown" in XAMPP (Easy Step-by-Step Guide)
If you're using XAMPP for local development, chances are you’ve come across this frustrating message at least once.

Creating Custom Classes in Laravel Without Custom Commands
In this post, I’ll share my experience with this issue and introduce a practical solution, the usmanzahid/laravel-custom-make package, that streamlines the process with minimal configuration.

Understanding Composer Version Constraints: A Comprehensive Guide
When managing PHP dependencies with Composer, understanding version constraints is crucial for maintaining stable, secure, and compatible packages in your projects. This guide explores the different operators and patterns you can use to specify version requirements.

How to Confidently Update Legacy Code in Symfony
Updating a PHP project often feels like a high-risk operation, especially on big or sensitive codebases. We’ve all been there: something breaks, hotfixes are flying, and everyone’s hoping for the best.

Sharding MySQL in Laravel: A Guide to Horizontal Scaling
In this blog post, we’ll explore how to shard MySQL in Laravel efficiently using a custom sharding logic that routes database queries to the correct server based on a user ID (or any other primary key).

News and Announcements

PHPverse 2025 - June 17, 2025
13:30–19:00 CET/CEST 07:30–13:00 EST/EDT 11:30–17:00 UTC

For three decades, PHP has powered the web, evolving into the dynamic and powerful language we know today. To mark this milestone, we’re bringing together the brilliant minds who have shaped PHP’s past, present, and future.. Join the free virtual event along with community experts to celebrate 30 years of PHP!

NativePHP for Mobile v1 — Launching May 2
What if you could build real iOS and Android apps using the Laravel skills you already have? No Swift. No Kotlin. No Flutter. No React Native. Just Laravel. That dream is about to become reality.

Map Eloquent Attributes into an Object Using the Collection Cast in Laravel 12.10
The Laravel team released v12.10.0, which includes mapping Eloquent attributes using the collection cast into a specific object, checking nested relationships with relationLoaded(), Arr::dot() performance improvements, and more.

A Week of Symfony #956
This week, we kicked off the New in Symfony 7.3 blog series, highlighting all the exciting new features coming in this release. We also unveiled more details about some of the SymfonyOnline June 2025 conference talks and published the full replay of all the talks from the recent SymfonyLive Berlin 2025 event.

New in Symfony 7.3 - Slug and Twig Constraints
The Validator component provides dozens of constraints ready to use in your applications. In Symfony 7.3, we've added two new constraints to the list.

phpday 2025
Now in its 22nd year, phpday has been held continuously since 2003. The 2025 edition will be hosted in Verona on May 15-16.

Podcasts and Vlogs

The Stack Overflow: “We’re not replacing you; we’re with you”: Where AI meets infrastructure
Ryan talks with Greg Fallon, CEO of Geminus, about the intersection of AI and physical infrastructure, the evolution of simulation technology, the role of synthetic data in machine learning, and the importance of building trust in AI systems.

No Compromises Podcast: Why “no time” really means “no priority”
Joel and Aaron tackle the common objection, “We don’t have time,” and show why it usually hides a priority problem. They discuss how to convey the true payoff of process improvements by sharing honest before‑and‑after stories instead of vague promises. 

North Meets South Podcast: Laracon AU, queued batches, and leveraging AI 
In this episode, Jake and Michael discuss the ramp up of Laracon AU planning, touch base on Jake's unorthodox usage of Laravel Horizon, and Michael finally coming around to using AI.

Software Engineering Radio: SE Radio 665: Malcolm Matalka on Developing in OCaml with Zero Frameworks
Malcolm Matalka, founder of Terrateam, joins host Giovanni Asproni to talk about the reasoning behind choosing a not-so-widespread language (OCaml) and (almost) totally avoiding frameworks for the development of Terrateam.

Shoptalk Show: 662: Alternative Browsers, Discord vs Circle, and AI in the Browser
We're talking browsers and discussing alternative options like Vivaldi and Brave, the implications of Chrome's potential sale to OpenAI, the impact of AI on browser functionality, Discord vs Circle, and building with Hotwire.

WP Builds: 419 – Elementor V4 unveiled with Gabriella Laster 
In this episode, I talk with Gabriella Laster, Product Marketing Director at Elementor, about the upcoming Elementor v4 release. Gabriella explains why a major codebase rewrite was needed, highlighting significant performance improvements, a new CSS-first approach, more intuitive UI changes, and enhanced workflow features. 

Laravel Podcast: Cloud Launch Reflections, Nightwatch, and the Future of Forge
In this episode of the Laravel Podcast, host Matt Stauffer welcomes back the one and only Taylor Otwell to dive into the latest developments in the Laravel ecosystem. 

Mostly Technical: 79: Super Ultra Tilted
Ian and Aaron discuss their respective trips to Vegas and Miami, Aaron's latest video, making new friends in real life, & more.

Syntax: Making Your App Feel Faster Than It Really Is
Tips and tricks to make web apps feel faster through perceived speed improvements.

The Changelog: I just want to code
Zach Bellay tells us about the devil and the angel on his shoulders, Pete Koomen thinks today’s AI apps are like horseless carriages, Hyperwood is an open source system for crafting furniture from simple wooden slats, Scott Antipa agrees with YAGNI but adds YAGRI & Antony Henao debunks three common myths that get engineers stuck.

Reading and Viewing

Mastering Laravel’s Advanced Eloquent: Best Practices for Complex Queries
In this article, we’ll explore best practices for mastering advanced Eloquent features, helping you craft optimized, clean, and maintainable queries.

PHP 8.5: Release Date and Features, April 2025
As of April 2025, PHP 8.5 is in active development, with its release scheduled for November 2025. This upcoming version introduces several enhancements aimed at improving developer experience and language capabilities.

Doctrine + DDD: Injecting Business Services into Your Entities Without the Pain
In this article, we will explore how to inject business services into your DDD entities without overloading constructors, using Doctrine’s PostLoad event to do so cleanly and efficiently.

Mastering assertOnlyJsonValidationErrors in Laravel: Simplify Your API Validation Testing
When building APIs with Laravel, validating user input is essential. Equally important is testing that validation properly triggers when bad data is sent.

DTO vs Resource in Laravel: What’s the Difference and When to Use Each
In this article, we’ll take a deep dive into the differences between DTOs and Resources, their purposes, and when to use each.

I supercharged Laravel’s aging Seeder
I’m not going to lie, but one of the things that even I don’t put too much attention when developing an application are Seeders, those classes that help you populate a database with fake-but-correct records. 

Mastering Immutable Types in PHP
In PHP, an immutable type refers to an object whose internal state cannot be altered after it is instantiated. 

Symfony 7: Keeping Up with PHP 8.4 and New Opportunities for Modern Development
With the release of Symfony 7 and the recent release of PHP 8.4, the framework once again proves its readiness for future challenges. The improvements in Symfony 7, combined with the innovations of PHP 8.4, open up new horizons for developers, providing tools for even more productive and faster development.

Interesting Projects, Tools and Libraries

ddereszewski/job-queue-bundle
Allows to run and schedule Symfony console commands as background jobs.

justintadlock/mythic
Mythic is a next-generation starter theme designed to help theme authors write elegant, intelligent, and modern code.

ecomdev/react-event-loop-test-utils
Test utilities for ReactPHP event loop based applications testing.

yawik/jobs-by-mail
This module enables subscription to latest jobs by email.

thefrosty/wp-utilities
A library containing my standard development resources.

user1007017/yii2-hyphenator
Yii2 extension that provides client-side hyphenation of HTML documents.

soatok/patreon
Interact with the Patreon API via OAuth.

proloser/cakephp-wizard
CakePHP Wizard Plugin.

sroutier/eloquent-ldap
A Laravel package that first tries to log the user against the internal database if that fails, it tries against the configured LDAP/AD server.

portable/laravel-db-tools
Database import and export for Artisan.

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