PHP Traits 8.3: New Features But Still a Bad Concept

Back in those days when I worked intensively with Laravel, I wrote an article about PHP traits and when to use them. I outlined why traits in PHP are a bad compromise to bypass the “limitation” of single inheritance and which problems may occur when using traits intensively. Lastly, I gave my personal opinion about … read more …

Readonly Classes in PHP: A Useful Addition to Readonly Properties

Last year around this time, I asked the question whether readonly properties replace getters. I gave a short overview about “best practices” on object oriented programming, summarized the idea of immutable objects and demonstrated how readonly properties helps writing better and more robust code with PHP, before I finalized the blog with my opinion how … read more …

fsync Unlocked: PHP & Advanced Memory Synchronization

Back in 2021, PHP released version 8.1 and a very important feature that I want to address here: fsync and fdatasync. It always catches me off guard when such fundamental features are introduced into the language at such a late stage: fsync is a native operating system function and the only thing that needs to … read more …

Laminas Framework Series: Getting Started with Mezzio

In the third post of the Laminas Framework Series we will address the getting started with Mezzio. The Laminas Framework, though comparatively recent as an independent entity, originates as a complete fork and successor of the Zend Framework, embedding it firmly in the realm of PHP-based enterprise software development. Mezzio, previously recognized as Expressive, is … read more …

What’s new in PHP 8.3

TL;DR: PHP 8.3 will be released on November 23, 2023. It will add typed class constants, a new helper function json_validate to check json payloads and some minor improvements for Randomizer class, reading ini configuration and more. The PHP team will release the new minor version of PHP to the end of this month. The … read more …

Laravel Experience: The Unfinalize Package

Group Of People Expressing incomprehension About Code

It is time to talk about Laravel. Really. I worked with Laravel for more than a year in my last project in a very large fashion based online shop. We built enterprise applications and I my gut feeling about is and was: it is a good framework to get things done – especially for juniors … read more …

Laminas Framework Series: Middleware in Mezzio and MVC

The second post of “Laminas Framework Series” compares Mezzio and the framework based on “Model-View-Controller” (short: MVC). The Laminas Framework is for its own is relatively new, but since it is an entire fork and a continuation of the Zend Framework, it has very deep roots in the enterprise software development with PHP. Mezzio – … read more …

Laminas Framework Series: Background and Basics

Laminas Framework Sqaure

The following blog series addresses the Mezzio (formerly known as Expressive) microframework belonging to the Laminas Framework (formerly known as the Zend Framework) and its core concept. The Laminas Framework is for its own is relatively new, but since it is an entire fork and a continuation of the Zend Framework, it has very deep … read more …

PHP 8: Making the Choice Between “switch” and “match”

In the constantly changing landscape of PHP, version 8 brought with it an innovative feature: the match expression. Many see it as a streamlined and more effective counterpart to the traditional switch. Let’s explore their distinctions. The traditional switch goes something like this: With PHP 8, the equivalent match looks far more compact: At a … read more …

Embracing Immutability: The Theory Behind Readonly Classes

As the code base of a project grows larger and larger, maintainability, predictability and “clean code” is getting more and more a key strategy for successful projects. While it is totally ok to have “quick and dirty” smelling code for prototypes and MVP’s, things change dramatically for scaling projects in production. In this blog post, … read more …