Systems | Development | Analytics | API | Testing

November 2024

What's new in PHP 8.4 in terms of performance, debugging and operations

The close of 2024 is near, and that also means a new version of PHP is about to be released: 8.4! There has already been some discussion regarding the latest features and modifications affecting developers, for example on either stitcher.io or php.watch. We wrote this post with a totally different angle, highlighting the performance, debugging, and operations-related changes in PHP 8.4 that are usually less publicized. Several of these changes were even contributed by Tideways.

PHP 8.4 improves Closure Naming for simplified debugging

In applications that use closures excessively, understanding stack traces as part of the debugging experience has historically been complicated by the fact that the names of closures did not include the source location. In a PHP stack trace, whenever a frame was represented by a closure, it only contained the reference {closure} and the namespace the closure was declared in, leading to all closures within a namespace looking identical.

Using Composer Patches to fix Performance in Third-Party PHP Libraries such as Symfony ErrorHandler

Every so often, a careful profiling analysis of your application detects the bottleneck in third-party code and there is little remedy for you to override or change that code. In this blog post I want to present a solution to fixing performance problems in third-party libraries by using the composer patches plugin. I use the the Symfony ErrorHandler as an example.