Hi everyone,
Wherever you are in the world, we hope you're all doing well. This week we have an new XDebug update from Derick Rethans. In our Article section we have topics on Understanding PHP access modifiers, Declaratives, Cross-Site Request Forgery (CSRF) protection, and how PHP and AI Are Coming Together in Modern Web Development. In Podcasts this week we have new episodes from No Compromises and this week Aaron and Joel talk about when to use a new piece of technology. Over at North Meets South, Michael and Jake dive into documentation challenges with Prezet, and discuss the nuances of sandbox environments. Laracast Snippet also has a new episode out and their topic of choice is big fish in small ponds/small fish in big pond which is an exploration on burnout, confidence levels and more. Finally, in our Reading section we have articles on The importance of minimising database queries, Symfony monitoring library implementation, and how to optimise lazy loading in Symfony Doctrine.
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:
|
Articles
Understanding PHP Access Modifiers with Examples
In this article, we’ll explore PHP’s access modifiers in-depth, breaking down their usage with practical examples to help you understand how they work and why they matter.
PHP and Declaratives
Public constants, evaluated at runtime, and multi-line closures, with the simplest syntax…
5 Ways to Optimize Symfony Application Performance
Symfony applications often face slow load times and high server strain due to issues like inefficient database queries, poor caching, and unoptimized settings. Here’s a quick breakdown of how to fix these problems and boost performance.
CSRF Protection in PHP
Cross-Site Request Forgery (CSRF) is a web security vulnerability that allows an attacker to trick authenticated users into executing unwanted actions on a website where they're currently logged in. The attack works by exploiting the trust that a website has in a user's browser.
Function overloading in PHP
Yes, old hat, and all explain how to do method overloading. I want to write a simple function, and overload it. And all remark — use OO… hmmm. So I played around with the basic concept of a router function, and overloaded functions.
How PHP and AI Are Coming Together in Modern Web Development
This article explores how PHP and AI are coming together in modern web development, offering new possibilities for developers and businesses alike.
|
Tutorials and Talks
Multiple Column Plucking in Laravel Collections
Laravel provides an efficient way to extract multiple column values from collections using the map method. While pluck() is limited to single columns, combining map with only allows for more flexible data extraction.
How to Fix the Target Class Does Not Exist Error in Laravel
The Target Class Does Not Exist error often occurs when Laravel cannot locate the class being referenced, especially in cases involving dependency injection or service container bindings.
Streamlining Route Parameters in Laravel Using URL Defaults
Managing URL parameters in Laravel applications, particularly those with multiple languages or complex routing patterns, can become repetitive. Laravel provides an elegant solution through URL defaults, allowing you to set application-wide default values for URL parameters. Let's explore this powerful feature's implementation.
Get Xdebug Working With Docker and PHP 8.4 in One Minute
Xdebug has a history of having a steep setup learning curve. I am here to show you that setting up Xdebug doesn't have to be painful. In fact, I am confident that you can start using Xdebug with Docker in about a minute.
Fluent Request Data Handling in Laravel
Managing request data just got smoother in Laravel. The new fluent() method on the Request class lets you handle input data with grace, providing null-safe access and enhanced transportability.
Mastering Eloquent ORM: Simplifying Database Interactions in Laravel
This blog post explores how Eloquent ORM simplifies database interactions, making it easier for developers to manage their data.
Running Joomla Task Scheduler tasks from the console (CLI)
To start the execution of scheduler tasks using the CLI, you need to connect to your server via SSH and run the command.
Step-by-Step Guide to Mastering Laravel Authentication and Authorization
In this comprehensive guide, you will learn how to set up a Laravel project, configure the database, implement authentication, manage users and roles, implement authorization, and test your application using a browser. |
News and Announcements
Xdebug Update: November 2024
PHP 8.4 was released at the end of November, and with that it was also necessary to release Xdebug 3.4 with support for it. Before I did that, I had another good look at many issues to try to find out what the problem was.
A Week of Symfony #936 (2-8 December 2024)
This week, Symfony celebrated the SymfonyCon 2024 Vienna conference with great success. This annual event brought together the global Symfony community to exchange ideas, learn new things, and collaborate on contributions to the Symfony project. In addition, the upcoming Symfony 7.3 version introduced support for pre-compressing web assets and a new userIsGranted() security method to test user authorization without relying on the session.
Symfony 7.2 curated new features
Symfony 7.2.0 has been released. As for any other Symfony release, our backward compatibility promise applies and this means that you should be able to upgrade easily to 7.2 without changing anything in your code.
PHP Conference Japan 2024 - Date: December 22, 2024 (JST) Location: Ota Tokyo, Japan.
The first PHP Conference Japan was held in 2000 by PHP user group in Japan, and this year marks the 25th edition of the event.
phpday 2025 - Call For Papers
The call for papers is open until January 11, 2025 23:59. Propose a talk! Take the chance to share your experience, test yourself on topics you know well and learn something new while preparing your presentation. You will also make yourself known in the community.
|
Podcasts and Vlogs
The Stack Overflow: “You don’t want to be that person”: What security teams need to understand about developers
The home team is joined by Kinnaird McQuaid, founder and CTO of NightVision, which offers developer-friendly API and web app security testing.
No Compromises Podcast: Deciding when to use a new piece of technology
On today's episode of No Compromises, Aaron and Joel share a conversation they had along these lines on a recent client project and considering the new Flux library from the creator of Livewire.
North Meets South Podcast: Loud coffee machines, Prezet, recursion, and staging environments
Join Michael and Jake as they explore noisy coffee machines, dive into documentation challenges with Prezet, and discuss the nuances of sandbox environments.
Maintainable Podcast: Austin Story: Making Software Easier to Change, Remove, and Evolve
Austin Story, Senior Engineering Director at Doximity, joins Robby to explore the intricacies of building maintainable systems, fostering team accountability, and enabling faster iteration without sacrificing quality.
Software Engineering Radio: SE Radio 645: Vinay Tripathi on BGP Optimization
Vinay Tripathi, a senior network engineer in Google Backbone Engineering and an 18-year network engineering veteran, discusses BGP optimization, a technique that’s critical in achieving top goals in distributed applications.
Shoptalk Show: Mouthblogging CSS in 2024
Riffing off the CSS Wrapped 2024 list from the Chrome team, we're talking field-sizing, animate to height, anchor positioning, custom scrollbars, cross-document view transitions, scroll-driven animations, and more!
WP Builds: 401 – “Get it optimised” with Remkus de Vries. Episode 2. Your site is running, now what?
In this WP Builds episode, I chat with Remkus de Vries and dive into website optimisation. Remkus, co-founder of Scanfully, a site health monitoring tool, shares his expertise on caching strategies, optimal hosting, and addressing plugin inefficiencies.
Laracast Snippet: Big Fish, Little Fish
There was a time long ago, before the internet, when each of us had the ability to be a big fish in the small pond. At least in some small way, that's true. But not anymore. And I wonder... what does that do to our confidence levels?
PHP Architect: php[podcast] 2024.12.5: Tek(nically) Speaking
This week on the php podcast, Eric and John talk about Lazy Object in PHP 8.4, php[tek] 2025 first round of speaker selection is done, PHP Architect is now on Bluesky (@phparch.com), join the PHP Architect Squad on daily.dev. CPX, Security issues with RCS, and more…
Mostly Technical: 62: Doing Too Much
Ian and Aaron talk about everything from Interstellar to the Late Night Wars of the 90s to speaking at conferences to maybe the greatest question of the week: what do you want to do when you retire?
Syntax: How to Go Deeper With Your Learning
Discussion on how to go beyond surface level skills and really dive deep on a topic through real projects, reading docs, consuming niche content and more.
The Changelog: A new era for the Changelog Podcast Universe
We’re making some big Changelog changes in 2025, the previously featured Stanford study on ghost engineers doesn’t live up to the hype, Git ingest is a simple service that turns any GitHub repository into a simple text ingest of its codebase.
|
The Importance of Minimizing Database Queries in Backend Development
Have you ever wondered why minimizing queries is essential for Backend Developers? As a Backend developer, one of your key responsibilities is to execute tasks with the least number of queries possible!
PHP: Should I mock or should I go?
Mocks aim to test the behavior of real objects. They simulate dependencies, so you don't have to call external resources that could slow down unit tests significantly.
Symfony monitoring library implementation
The release of the latest version of the framework brought the opportunity to make the app monitoring experience as easy as never before. In this article I'll detail what these changes are, and the impact they have on your monitoring experience in Inspector.
Single Quotes and Double Quotes : String Interpolation and Performance
Single quotes (') and double quotes (") in PHP serve the same primary purpose of creating strings, but they behave differently when it comes to variable interpolation and escape sequences.
How I Optimized Lazy Loading in Symfony Doctrine to Improve Performance
While working on a Symfony project, I faced an issue in which a OneToOne relationship in Doctrine was explicitly configured to behave lazily, but it was eagerly loading related entities.
|
Interesting Projects, Tools and Libraries
runtime/frankenphp-symfony
FrankenPHP runtime for Symfony.
imdhemy/laravel-purchases
The top-notch Laravel receipt validator.
kompo/symfony-oidc
OpenID connect bundle for Symfony.
xetaio/roles
Powerful package for handling roles and permissions in Laravel 5.
mathematicator-core/integral-solver
Simple package for solving integrals.
paysera/lib-dependency-injection
Helper classes for Symfony Dependency Injection component.
hudhaifas/silverstripe-dataobject-manager
Wrap any Silverstripe DataObject in a page.
mediawiki/simple-batch-upload
Basic, no-frills uploading of multiple files to MediaWiki.
chuk-shirley/laminas-no-intl
Laminas MVC module for php installations with no internationalization extension.
juststeveking/fluent-validation
Fluent Validation is a helper package, that allows you to use sensible defaults for your Laravel validation rules.
|
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 15. 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?
|
|
|
|