Fork me on GitHub
a Sensio Labs Product

Alexander (v3.87.2) edition

Rule new_with_parentheses

All instances created with new keyword must (not) be followed by parentheses.

Configuration

anonymous_class

Whether anonymous classes should be followed by parentheses.

Allowed types: bool

Default value: true

named_class

Whether named classes should be followed by parentheses.

Allowed types: bool

Default value: true

Examples

Example #1

Default configuration.

--- Original
+++ New
 <?php

-$x = new X;
-$y = new class {};
+$x = new X();
+$y = new class() {};

Example #2

With configuration: ['anonymous_class' => false].

--- Original
+++ New
 <?php

-$y = new class() {};
+$y = new class {};

Example #3

With configuration: ['named_class' => false].

--- Original
+++ New
 <?php

-$x = new X();
+$x = new X;

Rule sets

The rule is part of the following rule sets:

  • @PER (deprecated) with config:

    ['anonymous_class' => false]

  • @PER-CS with config:

    ['anonymous_class' => false]

  • @PER-CS1.0

  • @PER-CS2.0 with config:

    ['anonymous_class' => false]

  • @PER-CS3.0 with config:

    ['anonymous_class' => false]

  • @PSR12

  • @PhpCsFixer with config:

    ['anonymous_class' => false]

  • @Symfony with config:

    ['anonymous_class' => false]

References

The test class defines officially supported behaviour. Each test case is a part of our backward compatibility promise.