php7静态方法的链式调用

2018-1-11 20:25:48 星期四

情景:

以前想要链式调用必须先 new 一个对象, 然后 $obj->aa()->bb()...

现在PHP7 (php7.0.13  php7.2测试通过) 的静态方法也可以链式调用了

写法:

A::aa()::bb()::cc();

实现:

 1 class A
 2 {
 3     public static $a = 0;
 4     
 5     public static function aa()
 6     {
 7         self::$a++;
 8         return self::class;
 9     }
10     
11     public static function bb()
12     {
13         self::$a++;
14         return self::class;
15     }
16     
17     public static function cc()
18     {
19         echo self::$a;
20     }
21 }
22 
23 
24 A::aa()::bb()::cc(); //2

 

posted @ 2018-01-11 20:29  myD  阅读(711)  评论(0编辑  收藏  举报