php教程,如何实现类实例方法的连续链式调用?
发布于 作者:苏南大叔 来源:程序如此灵动~

链式调用Method Chaining
是在php
代码中一种非常常见的编码技巧,通过每个类里的每一个(其实是大多数)函数都返回$this
,来完成链式调用的链接过程。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验文章总结。测试环境:win10
,nginx@1.15.11
,php@8.2.10-nts
。
核心技术点
这种链式调用都是基于某个类的实例的,这种支持链式调用的类,一般都有个getResult()
之类的方法,作为链式调用的终结。由它来输出一系列操作的结果,也就是说这个函数是不用返回$this
的,而是返回其它的目标数据。
大多数链式调用的方法,都需要接收参数,完善内部的查询结果。同时,最重要的是:在方法的最终要返回值$this
。就是说:通常意义上的method()
,是要返回目标数据的。而链式调用则不是,它返回$this
,会有一个get
类似的方法,来获得存储在内部的处理结果。
链式调用范例
下面的代码,是实现php
链式调用的最简单最常见的例子。

输出结果:
或者:
相关文章
- https://newsn.net/say/electron-second-instance.html
- https://newsn.net/say/php-static-method.html
- https://newsn.net/say/php-debug-func.html
- https://newsn.net/say/php-reflect-class.html
结束语
链式调用看起来有些神秘,其实实现上只要注意及时的return $this
即可,没有太特殊的地方。更多苏南大叔的php
经验总结文章,请点击:


