Skip to content

Latest commit

 

History

History
48 lines (35 loc) · 1.13 KB

regular_callable_call.rst

File metadata and controls

48 lines (35 loc) · 1.13 KB

Rule regular_callable_call

Callables must be called without using call_user_func* when possible.

Warning

Using this rule is risky.

Risky when the call_user_func or call_user_func_array function is overridden or when are used in constructions that should be avoided, like call_user_func_array('foo', ['bar' => 'baz']) or call_user_func($foo, $foo = 'bar').

Examples

Example #1

--- Original
+++ New
@@ -1,6 +1,6 @@
 <?php
-    call_user_func("var_dump", 1, 2);
+    var_dump(1, 2);

-    call_user_func("Bar\Baz::d", 1, 2);
+    Bar\Baz::d(1, 2);

-    call_user_func_array($callback, [1, 2]);
+    $callback(...[1, 2]);

Example #2

--- Original
+++ New
@@ -1,4 +1,4 @@
 <?php
-call_user_func(function ($a, $b) { var_dump($a, $b); }, 1, 2);
+(function ($a, $b) { var_dump($a, $b); })(1, 2);

-call_user_func(static function ($a, $b) { var_dump($a, $b); }, 1, 2);
+(static function ($a, $b) { var_dump($a, $b); })(1, 2);