DTO vs VO in PHP (dev.to)
Data Transfer Objects (DTOs) and Value Objects (VOs) are particularly useful when working with...
Data Transfer Objects (DTOs) and Value Objects (VOs) are particularly useful when working with...
By upgrading to 8.3, you can achieve a significant increase in speed. In this article, we dive into how PHP 8.3 can be a game changer. It can speed up your application's performance.
Did you know you can perform a full-text search in a database using PhpStorm (any IntelliJ based IDE)
I'm happy to introduce the latest update to our book - Rector, the Power of Automated Refactoring, along with Rector version 0.19.5 from this week. This release includes 2 new commands, brand new configuration with smart IDE autocomplete, brand new chapter and DX improvements to help you master code refactoring with ease.
Welcome again - today we continue our journey with using SQL databases in PHP Today I'll show you...
As developers, we’re constantly managing where entities are in some flow. Entities like blog posts, multi-step user registration, and even UI elements can exist in multiple states, and we’re responsible for making sure that they’re always in a valid state. If something unexpected happens in those flows, it can cause bugs,...
In the first post, we looked at the long-term effects of our decisions. Turning a legacy project into a fresh one is a matter of the "just do it" approach. But there are 3 things we should take with care even if our project seems outside the legacy project category. The second of those is mocks.
PHP usage in 2024
As developers, we’re constantly managing where entities are in some state. Entities like blog posts, multi-step user registration, and even UI elements can exist in multiple states, and we’re responsible for making sure that they’re always in a valid state. If something unexpected happens in those flows, it can cause bugs,...
As many of you know, immutability is an extremely useful concept that makes code more predictable and...
Early this year, I created a few custom Rector rules for our client. It modified the code based on the PHPUnit error result report. The only problem is that PHPUnit outputs a string. So, I had to parse it manually with regexes. Having a JSON output would make my life easier. I'm used to PHP tools that provide the JSON out of the...
The repository pattern is a data source abstraction that behaves like a collection; containing domain (value) objects.
How to effectively use interfaces to make your PHP package easier to work with and more customizable than ever before.
Like many worldwide, the recent ownCloud vulnerabilities got us worried as security professionals and tool authors. According to this blog, the vulnerability was caused by a test file in the vendor directory.
Write readable, tabular test data for Pest and PHPUnit tests that allow you to describe data in a Markdown table-like format and compare it to the actual data.
PHP RFC: Nullsafe operator Introduction This RFC proposes the new nullsafe...
Features that make PHP go forward: which are the features that PHP projects adopts, as soon as they can drop backward compability?
Interview With Eric Mann Release Manager PHP 8.3 In this episode, Scott talks with Eric Mann about his experience as one of the PHP 8.3 Release Managers and writing his book PHP Cookbook. Note: this transcript was transcribed by AI and then edited for clarity. Scott Keck-Warren: Hello developers, and welcome to the...
FrankenPHP is a project I've been keeping an eye on for a while. It's an alternative way to run PHP applications on the web without using php-fpm, which makes it easier to deploy with Docker as you don't need to deploy multiple containers for both nginx and php-fpm, or deploy one container that runs both processes.
PHP 8.3 has already been released a few months back and it’s time to look at what’s coming in PHP 8.4.
In the first post, we looked at the long-term effects of our decisions. Turning a legacy project into a fresh one is a matter of the "just do it" approach. But there are 3 things we should take with care even if our project seems outside the legacy project category. First of those are arrays.
Engaging with generative AI-powered chatbots has never been easier! Amazon Q, a dynamic alternative...
In the dynamic world of web development, PHP has been a stalwart, powering countless websites and...
Welcome to the December edition of PHP Annotated! In it, we look back over some of the most interesting developments in the PHP community during the past month, featuring handpicked news, articles, to
As a designer and frontend developer, I often find myself working on various projects. Recently,...