php7静态方法的链式调用

Posted myD

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于php7静态方法的链式调用的主要内容,如果未能解决你的问题,请参考以下文章

PHP链式操作通过call和callstatic魔术方法的实现,以及phpstorm通过注释去追踪function

JQuery-- 链式编程静态函数,自己制作jQuery插件

从活动中调用片段中的非静态方法?

从片段调用活动方法

链式静态函数调用之间的参数评估顺序

等效于链式 LINQ 扩展方法调用中的 'let' 关键字的代码