1.2.785. New Initializers

Parameters, static variables and global constants may be initialized with an object.

This feature is available in PHP 8.1 and more recent. It is reported as an invalid constant expression in older PHP versions.

<?php

function foo( $a = new A) {
    static $static = new B;

}

const A = new C;

?>

See also PHP RFC: New in initializers and `Nested Attributes`_.

1.2.785.2. Connex PHP features

1.2.785.2.1. Specs

Short name

Php/NewInitializers

Rulesets

All, Appinfo, Changed Behavior, CompatibilityPHP73, CompatibilityPHP74, CompatibilityPHP80

Exakat since

2.3.1

PHP Version

With PHP 8.1 and more recent

Severity

Minor

Time To Fix

Quick (30 mins)

Precision

Very high

Available in

Entreprise Edition, Exakat Cloud