Laminas Framework Series: Mezzio vs. MVC

In the fourth post of the Laminas Framework Series I want to compare middlewares using Mezzio and the MVC framework by Laminas. The Laminas Framework, despite its relatively new, it is derived as a full-fledged derivative and successor to the Zend Framework, firmly anchoring it in the context of PHP-centric enterprise software development. Mezzio, once … read more …

Static Source Code: Why You Should Avoid it

If you regularly read my blog, you will know I am a strong advocate of object oriented programming and principles like S.O.L.I.D. This means in contrary, static code in whatever form or purpose is incompatible with the way how I structure my software projects. In this post, I will give a quick summary about static … 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 …

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 …

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 …

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 …

Towards Powerful PHP Applications: WeakMaps and Their Practical Usage

PHP introduces WeakMap datastructure with version 8.0. This new data structures is capable of containing objects while simultaneously enabling them to be cleared via garbage collection once not needed anymore. WeakMap is a evolution of weak references added with PHP 7.4 and enables the development of collections of references that can be subjected to garbage … read more …

How and When to Use PHP’s Pure Intersection Types

In this publication of my PHP related blog series, I want to address Pure Intersection Types in PHP. In the previous blogs of the series, I addressed different features added to PHP with PHP 8 and PHP 8.1. The first blog was about readonly properties, the second one focused on Enums and the third and … read more …