Fix inherited static variables in PHP 8.1

Configuring Exakat with Rules

Remove static variables One discreet update of PHP 8.1 is the upgrade of PHP static variables behavior in classes : Static variables in methods inheritance. Let’s review what are static variables in PHP, why they were problematic so far, and strategies to upgrade the code to remove this problem. PHP static variables While static properties […]

Installing Exakat to monitor several projects

Installing Exakat to monitor several projects Exakat is the smart Static analysis tool for PHP. It reviews the source for PHP compatibility (8.0, 8.1, 8.2 already, Security, and much more. When running it for several projects, it is convenient to use the ‘projects’ style of installation, more than the ‘in-code’ configuration. The ‘projects’ installation is […]

Prepare for PHP migration with Exakat

Prepare for PHP migration with Exakat Exakat detects compatibility issues in your code, for each minor PHP versions since PHP 5.3. It scans the source for function apparence or disappearance, new syntax and behaviors. Here is how to prepare PHP migration with Exakat. init-project-done With a local docker system and access to your code, you […]

Growing Old With PHP

Getting Older With PHP Exakat runs continuous audits on over 1750 Open source applications, components and frameworks. This is a reality torture test : any error or unexpected results are reviewed and help update the analysis library and the Exakat engine itself. This is a golden mine of tests and real code : an exceptional […]

Variable Variables Usage

PHP variable variables

Variable Variables Usage I call them ‘variable variables’, because it makes a funny sentence. What? Aren’t variables supposed to …vary, change, get altered? Indeed, they do. Yet, there are the ‘dynamic variables’ in PHP, which have been around as long as PHP itself (at least, PHP 3.+). Recent tutorials around the web, like Dynamic variables […]

Configuring Rules in Exakat

Configuring Exakat with Rules

Configuring Rules in Exakat Exakat default installation is tailored for discovery : it is made so as to give a broad view over the engine’s possibilities. As your experience grows, a more refined configuration is needed to adapt the results to the style of the development team. This tutorial helps your configuring rules in Exakat. […]

PHP 8.0 named parameters and variadic

Named arguments and variadic in PHP 8 PHP 8.0 introduces the named arguments. This is an extension of the current positional syntax. Named arguments removes some of the limitations. It also modernizes the way methods are called with an arbitrary number of arguments, with the spread operator. Let’s see what is happening with named arguments […]

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