1.2.771. New Dynamic Class Constant Syntax

PHP has a dedicated syntax to access dynamically class constant values. This was added in PHP 8.3. It prevents using the a call to the function constant().

<?php

class x {
     const A = 1;
}

$a = 'A';
echo x::{$a}; // displays 1

?>

1.2.771.1. Connex PHP features

1.2.771.1.1. Specs

Short name

Classes/NewDynamicConstantSyntax

Rulesets

All, Appinfo, Changed Behavior, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, CompatibilityPHP73, CompatibilityPHP74, CompatibilityPHP80, CompatibilityPHP81, CompatibilityPHP82

Exakat since

2.5.3

PHP Version

With PHP 8.3 and more recent

Severity

Minor

Time To Fix

Quick (30 mins)

Precision

Very high

Available in

Entreprise Edition, Exakat Cloud