Fork me on GitHub
a Sensio Labs Product

Constitution (v3.0.0) edition

Rule self_static_accessor

Inside a final class or anonymous class self should be preferred to static.

Examples

Example #1

--- Original
+++ New
 <?php
 final class Sample
 {
     private static $A = 1;

     public function getBar()
     {
-        return static::class.static::test().static::$A;
+        return self::class.self::test().self::$A;
     }

     private static function test()
     {
         return 'test';
     }
 }

Example #2

--- Original
+++ New
 <?php
 final class Foo
 {
     public function bar()
     {
-        return new static();
+        return new self();
     }
 }

Example #3

--- Original
+++ New
 <?php
 final class Foo
 {
     public function isBar()
     {
-        return $foo instanceof static;
+        return $foo instanceof self;
     }
 }

Example #4

--- Original
+++ New
 <?php
 $a = new class() {
     public function getBar()
     {
-        return static::class;
+        return self::class;
     }
 };
The logo is © 2010-2014 Sensio Labs