Exakat on FrankenPHP I learnt about Franken PHP by listening to Kevin Dunglas at the AFUP conferences. This is a PHP application server: it loads the code and runs the application from memory. At first sight, it is made for Webapplication. Load the code once, and then run it upon request. But it also has […]
PHP 8 attributes in 2023 PHP 8 introduced the attributes, in lieu of the phpdoc comments. They may be added to classes, methods, functions, parameters, properties and class constants and provide a PHP-way to write custom configurations. This is a way to provide contextual information inside the code, and make it available to the PHP […]
PDFF : PHP Document File Format PDFF, or internally named PHP Document File Format, has been at the center of the development of Exakat since late 2021. It comes from a specific problem : describing dependencies, for the static analysis engine to understand and to take advantage of them, without auditing their source at the […]
I scream, you scream, we all scream for @ @, no scream operator, is a classic PHP operator, meant to suppress error displays locally. It is a staple of PHP code, in use in over 65% of PHP repositories : 2 repositories out of 3. Yet, it is widely recommended avoiding using it. Indeed, are […]
Exakat 2.1.9 Review Exakat 2.1.9 comes loaded with no fewer than 11 new analysis : half of them are for PHP 8.0, and the other half is for code quality. There is now a dedicated report for migration to PHP, with backward incompatibility, and also suggestions. Let’s dive in the Exakat 2.1.9 Review. Migration to […]
Exakat 2.1.8 Review Exakat 2.1.8 shines with the last warmth of summer. It is now time to start the resolute road to PHP 8.0 and its surprise incompatibility; or update PHP code stubs with the upcoming attributes. During the trip, we’ll stop observing the new SARIF format, the standard for static analysis tool in PHP […]
Exakat 2.1.7 Review Exakat 2.1.7 is out, with a treasure trove of new features : Exakat for Github Actions is available; PHP 8.0’s new attributes are supported; the typehint suggestion report includes functions, closures and arrow functions, and even more suggestions; new rules to prevent Global Namespace pollution and detect methods that should be defined […]
Exakat 2.1.5 Review Exakat 2.1.5 is bringing a large chest of treasures : PHP 8.0 support, with named parameters, attributes, match and added a new inventory for too many chained object. The engine upgraded the storage of Typehint and Default values, which lead to several modernisation and coverage extensions, such as ‘typehint are for interface […]
Method fossilisation Fossilisation happens when things get harder to update. It is a process, more than a final state. In particular, it happens to methods when the signature is shared across multiple classes. With interfaces and inheritance, changing some of the elements of a method’s signature means refactoring the code in several other locations. The […]
Overall Typehint Usage PHP typehints were introduced in PHP 5. Ever since, they have grown in features and usage. Where are we at the moment ? We scanned the Open Source community repositories. 89% of all PHP code source use types hinting, at least a little. Typehint Coverage This number is very high, yet it […]