PHP 8 Attribute usage in 2023

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 […]

I scream, you scream, we all scream for @ no scream operator

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 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 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 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 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

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 […]