Data warehousing principles solve real business problems. In this final installment of our drill-across series, we explore how fact tables, dimension tables, and aggregation tables transform complex r...
One piece of the software development testing process that I've started using to (maybe) an extreme over the last couple of years is the use of static code analysis tools. They've become a go-to part...
You know what is just wonderful: Working in a profession where I am constantly being told I will be phased out by a computer. A computer, the very thing that is my livelihood as a programmer, will be...
Hello friends! In this column I want to talk to you about an existential threat a lot of developers have to confront at some point in their careers — do you want to manage people or do you want to rem...
In the early days of PHP development, the language was often used in a procedural, unstructured manner, leading to what is commonly referred to as "spaghetti code." This wasn't a malicious creation; r...
Last month, we explored the fundamentals of traditional Diffie-Hellman Key Exchange (DHKE) using modular exponentiation. Building on that approach, we'll now look at a more modern variant: Elliptic Cu...
Last month, we used the BetterReflection package to dynamically register routes and set up API clients. It provides some convenient methods and a readable API for introspecting a codebase. With it, we...
Property Hooks, introduced last year in PHP 8.4, have triggered wide interest and discussion within the PHP community. It's quite common with a new feature that discourse touches only basic functional...
This logging-focused article is the second part in our series on observability. Previously, we explored how metrics enable real-time visibility into an application's performance. Now, we turn to logs...
Our Partners
Collaborating with industry leaders to bring you the best PHP resources and expertise