
native_function_invocation
¶Add leading \
before function invocation to speed up resolving.
Warning
Using this rule is risky.
Risky when any of the functions are overridden.
include
¶List of function names or sets to fix. Defined sets are @internal
(all
native functions), @all
(all global functions) and @compiler_optimized
(functions that are specially optimized by Zend).
Allowed types: array
Default value: ['@internal']
scope
¶Only fix function calls that are made within a namespace or fix all.
Allowed values: 'all'
, 'namespaced'
Default value: 'all'
strict
¶Whether leading \
of function call not meant to have it should be removed.
Allowed types: bool
Default value: false
Default configuration.
--- Original
+++ New
<?php
function baz($options)
{
- if (!array_key_exists("foo", $options)) {
+ if (!\array_key_exists("foo", $options)) {
throw new \InvalidArgumentException();
}
- return json_encode($options);
+ return \json_encode($options);
}
With configuration: ['exclude' => ['json_encode']]
.
--- Original
+++ New
<?php
function baz($options)
{
- if (!array_key_exists("foo", $options)) {
+ if (!\array_key_exists("foo", $options)) {
throw new \InvalidArgumentException();
}
return json_encode($options);
}
With configuration: ['scope' => 'all']
.
--- Original
+++ New
<?php
namespace space1 {
- echo count([1]);
+ echo \count([1]);
}
namespace {
- echo count([1]);
+ echo \count([1]);
}
With configuration: ['scope' => 'namespaced']
.
--- Original
+++ New
<?php
namespace space1 {
- echo count([1]);
+ echo \count([1]);
}
namespace {
echo count([1]);
}
With configuration: ['include' => ['myGlobalFunction']]
.
--- Original
+++ New
<?php
-myGlobalFunction();
+\myGlobalFunction();
count();
With configuration: ['include' => ['@all']]
.
--- Original
+++ New
<?php
-myGlobalFunction();
-count();
+\myGlobalFunction();
+\count();
With configuration: ['include' => ['@internal']]
.
--- Original
+++ New
<?php
myGlobalFunction();
-count();
+\count();
With configuration: ['include' => ['@compiler_optimized']]
.
--- Original
+++ New
<?php
$a .= str_repeat($a, 4);
-$c = get_class($d);
+$c = \get_class($d);
The rule is part of the following rule sets:
Using the @PhpCsFixer:risky rule set will enable the native_function_invocation
rule with the config below:
['include' => ['@compiler_optimized'], 'scope' => 'namespaced', 'strict' => true]
Using the @Symfony:risky rule set will enable the native_function_invocation
rule with the config below:
['include' => ['@compiler_optimized'], 'scope' => 'namespaced', 'strict' => true]