Fork me on GitHub
a Sensio Labs Product

Persian Successor (v3.65.0) edition

Rule function_to_constant

Replace core functions calls returning constants with the constants.

Warning

Using this rule is risky

Risky when any of the configured functions to replace are overridden.

Configuration

functions

List of function names to fix.

Allowed values: a subset of ['get_called_class', 'get_class', 'get_class_this', 'php_sapi_name', 'phpversion', 'pi']

Default value: ['get_called_class', 'get_class', 'get_class_this', 'php_sapi_name', 'phpversion', 'pi']

Examples

Example #1

Default configuration.

--- Original
+++ New
 <?php
-echo phpversion();
-echo pi();
-echo php_sapi_name();
+echo PHP_VERSION;
+echo M_PI;
+echo PHP_SAPI;
 class Foo
 {
     public function Bar()
     {
-        echo get_class();
-        echo get_called_class();
+        echo self::class;
+        echo static::class;
     }
 }

Example #2

With configuration: ['functions' => ['get_called_class', 'get_class_this', 'phpversion']].

--- Original
+++ New
 <?php
-echo phpversion();
+echo PHP_VERSION;
 echo pi();
 class Foo
 {
     public function Bar()
     {
         echo get_class();
-        get_class($this);
-        echo get_called_class();
+        static::class;
+        echo static::class;
     }
 }

Rule sets

The rule is part of the following rule sets:

References

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