Add leading \
before constant invocation of internal constant to speed up
resolving. Constant name match is case-sensitive, except for null
, false
and true
.
Risky when any of the constants are namespaced or overridden.
List of constants to ignore.
Allowed types: list<string>
Default value: ['null', 'false', 'true']
Whether to fix constants returned by get_defined_constants
. User constants
are not accounted in this list and must be specified in the include one.
Allowed types: bool
Default value: true
List of additional constants to fix.
Allowed types: list<string>
Default value: []
Only fix constant invocations that are made within a namespace or fix all.
Allowed values: 'all'
and 'namespaced'
Default value: 'all'
Whether leading \
of constant invocation not meant to have it should be
removed.
Allowed types: bool
Default value: true
Default configuration.
--- Original
+++ New
-<?php var_dump(PHP_VERSION, M_PI, MY_CUSTOM_PI);
+<?php var_dump(\PHP_VERSION, \M_PI, MY_CUSTOM_PI);
With configuration: ['scope' => 'namespaced']
.
--- Original
+++ New
<?php
namespace space1 {
- echo PHP_VERSION;
+ echo \PHP_VERSION;
}
namespace {
echo M_PI;
}
With configuration: ['include' => ['MY_CUSTOM_PI']]
.
--- Original
+++ New
-<?php var_dump(PHP_VERSION, M_PI, MY_CUSTOM_PI);
+<?php var_dump(\PHP_VERSION, \M_PI, \MY_CUSTOM_PI);
With configuration: ['fix_built_in' => false, 'include' => ['MY_CUSTOM_PI']]
.
--- Original
+++ New
-<?php var_dump(PHP_VERSION, M_PI, MY_CUSTOM_PI);
+<?php var_dump(PHP_VERSION, M_PI, \MY_CUSTOM_PI);
With configuration: ['exclude' => ['M_PI']]
.
--- Original
+++ New
-<?php var_dump(PHP_VERSION, M_PI, MY_CUSTOM_PI);
+<?php var_dump(\PHP_VERSION, M_PI, MY_CUSTOM_PI);
The rule is part of the following rule sets:
@PhpCsFixer:risky with config:
['fix_built_in' => false, 'include' => ['DIRECTORY_SEPARATOR', 'PHP_INT_SIZE', 'PHP_SAPI', 'PHP_VERSION_ID'], 'scope' => 'namespaced', 'strict' => true]
@Symfony:risky with config:
['strict' => false]
- Fixer class: PhpCsFixer\Fixer\ConstantNotation\NativeConstantInvocationFixer
- Test class: PhpCsFixer\Tests\Fixer\ConstantNotation\NativeConstantInvocationFixerTest
The test class defines officially supported behaviour. Each test case is a part of our backward compatibility promise.