Things are always on the move, and it's a wonder in this day and age how everyone tries to keep up with things professional and personal schedules and life events. Fortunately we've made it easier for people to stay abreast with the latest news and happenings from the PHP community with our weekly newsletter.
This week's releases include the latest bug update with PHP 8.1.9. We also have the latest Xdebug update from Derick Rethans. Also, this week's Laravel v9.24 release introduces three new database commands. We also have a ton of new tutorials including a walkthrough on how to start and publish a new Laravel package. Finally we have an article from Planetscale about a very nice technique to decrease concurrency and prevent deadlocks. They also happen to be this week's sponsor so we do ope you check it out.
We 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].
Do follow us on our social media channels on Twitter and Facebook. You can connect with me on LinkedIn:
All the best,
Please help us by clicking to our sponsor:
Get Your Free 5GB PlanetScale Database
Speed, reliability, scale, and a familiar branching workflow. Sign up and let the engineers that have scaled today's largest databases manage yours for you.
Xdebug Update: July 2022
Most of the work that I did on Xdebug was related to release the first two alpha releases of Xdebug 3.2, which add support for PHP 8.2, and drops support for PHP 7.2, PHP 7.3, and PHP 7.4.
Deprecated Dynamic Properties in PHP 8.2
Today, I want to focus on one deprecation in particular in PHP 8.2: deprecated dynamic properties.
The Difference Between Traits, Interfaces, and Abstract Classes in PHP
By the end of this article, you should be able to easily tell what sets them apart, and when it's best to use one over the other.
Simple Solutions 1 - Active Record versus Data Mapper
Having discussed different aspects of simplicity in programming solutions, let's start with the first topic that should be scrutinized regarding their simplicity: persisting model objects.
7 Types Of Developers You Think You Need BUT You Don’t
As we are all different individuals, every developer has his own personality yet there are certain prominent “types” that can be seen in most teams.
Tutorials and Talks
New Artisan Docs Command In Laravel 9.23
The Laravel team released 9.23 with an artisan docs command, Vite support for CSP/SRI, a new fluent JSON assertion method and more. Let's take a look at the latest Laravel 9 release.
Building Your Own Laravel Packages
Sharing code has never been more accessible, and installing PHP packages has become convenient; building packages however? In this tutorial, I will walk through how to start and publish a new Laravel package.
JSON API Resources in Laravel
Tim MacDonald built a fantastic package for this use case. It allows us to build and return JSON:API compliant resources that are easy to use. Let's walk through how this works.
Experimentally Compiling PHP Code to Rust
Inspired by Tim's work on Natalie, I'm going to start an experiment where I take my handwritten PHP parser and try to write a compiler that turns PHP code into Rust and then compiles that Rust code into a native executable using rustc.
How The Laravel Login Link Package Works Under The Hood
Povilas Korop of Laravel Daily made a cool video on the internals of our spatie/laravel-login-link package.
Creating And Working With Anonymous Users In Laravel
A one-tap way to create a new guest account and get in-game to try things out without pledging your email or committing a new password to memory.
Laravel 9 Import Export Excel & CSV File to Database Example
This tutorial will cover on how to import and export excel or csv file data to database with example.
Symfony Testing: Using Repository Pattern Without Connecting To Database
In this article we are gonna write tests that are independent from database for symfony using the repository pattern.
News and Announcements
PHP 8.1.9 Released!
The PHP development team announces the immediate availability of PHP 8.1.9. This is a bug fix release. All PHP 8.1 users are encouraged to upgrade to this version.
CakePHP 4.4.4 Released
Changes include: Simplify tests for Database package. This helps with the development of 5.x. Fix build errors from new versions of intl, #MySQL, and openssl and more!
Laravel v9.24.0 Released
Following last week's release which focused on Artisan, this week's Laravel v9.24 release introduces three new database commands we think you will love.
PhpStorm 2022.2.1 Preview
A preview build for PhpStorm 2022.2.1, the upcoming minor release of PhpStorm, is now available. It brings a fixed for a broken step over in debugger. Read on to see a detailed post-mortem of the issue.
A Week of Symfony #814 (1-7 August 2022)
This week, the upcoming Symfony 6.2 version added features such as allowing to extend the #[When] attribute, adding conditional types to conditional configuration builders, introduced a new messenger:count command that lists the pending messages per transport and improved the #IsGranted attribute to allow using expressions.
What's New in Composer 2.4
Composer, PHP's de-facto dependency manager. brings several new features in its upcoming Composer 2.4 release.
PHP Sussex: PHP For The Console Fri, Sep 9 · 1:00 AM PHT
Hosted by Yannick Chenot. This is a hybrid event taking place both in person in Brighton and online on Zoom – come join us!
Podcasts and Vlogs
How To Code Well: 168 - What is a Design System?
What is a Design system? A collection of reusable components, a place for collaboration amongst designers and developers, a set of standards that must be adhered to?
PHP Ugly: 297:PHP Lovewire
This week on the podcast, Eric, John, and Thomas talk about New Composer 2.4, JetBrains Fleet, Bad news from Gitlabs, Good news from Gitlabs, and more.
The Stack Overflow Podcast: The internet’s Robin Hood uses robo-lawyers to fight parking tickets and spam calls (Ep. 471)
Joshua Browder, founder and CEO of DoNotPay, tells us how a heap of expensive parking tickets inspired him to build software that helps people avoid fines, secure refunds, claim free land, win back lost savings, and even combat systemic racism.
No Compromises Podcast: Sometimes It's Good To Be Boring
Do you like to fiddle with settings? Joel doesn't. Find out why, and hear about one example where we like deviating from the defaults.
North Meets South Podcast: Migrating From Vapor, Green Energy, And Housing Your Validation
Jake and Michael discuss migrating thenping.me off of Laravel Vapor and the teething issues that ensued, which somehow segued into provisioning of green energy, and ending on housing your application validation.
Maintainable Podcast: Casey Watts! - Culturesmithing
Robby has a chat with Casey Watts!, the Founder at Happy and Effective and the author of Debugging Your Brain, about how having a deliberately prioritized engineering backlog is the best way to ensure the maintainability of software.
Software Engineering Radio: Episode 523: Jessi Ashdown and Uri Gilad on Data Governance
Jessi Ashdown and Uri Gilad, authors of the book Data Governance: The Definitive Guide, discuss what data governance entails and how to implement it.
WP Builds: 290 – Using No Code Solutions As Your Superpower
On the podcast today we have Raitis Sevelis from Visual Composer, and he’s here today to talk about the how you should use your WordPress page builder with pride and explain to your clients the many benefits that it brings to your workflow.
The Slotted Counter Pattern
It is a common database pattern to increment an INT column when an event happens, such as a download or page view.
Why Developers are Using VueJS with Laravel for App Development
Both Laravel and VueJS are frameworks, so you might wonder how these two could be used together. Well, they are being used in combination now. We would be highlighting the points below, focussing on why these two languages should be used together.
Cross-site Scripting (XSS) and ways to prevent it in PHP applications
In this post, I will walk you through the details about the XSS and how you can prevent XSS attacks on your PHP web app.
Benefits Of Type Declarations In PHP
This post will particularly focus on typed parameters, typed properties and return type declarations.
Realistic Deadlines Will Increase Your Productivity
If you want to achieve your goals, you need to do more than believe in yourself. Or think positively. Or reach for the stars.
How Many Hours Should You Code a Day?
When it comes to programming, how many hours per day should you be coding? This is a question that has been debated by programmers for years.
Interesting Projects, Tools and Libraries
A simple, small and smart template engine.
Authentication and Authorization for CodeIgniter 4
Magento 2 change the currency symbol position.
Payment Gateways for Laravel.
An object oriented wrapper around PHP's built-in server.
Laravel Duskless provides browser automation.
Initiator is a starter theme designed to help theme authors using Backdrop Core Framework.
This package provides a simple alert utilities for your livewire components.
Abstract classes for creating post types, taxonomies, metaboxes and ajax calls.
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 13. 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?