博客
关于我
php中的方法链
阅读量:120 次
发布时间:2019-02-26

本文共 836 字,大约阅读时间需要 2 分钟。

在许多流行的编程框架中,比如Zend、CakePHP等,人们常常使用如下的类方法调用方式:$obj->foo()->bar()->anotherMethod();。这其实是PHP中的方法链调用机制的应用。通过一个简单的例子,我们可以更好地理解这一点。

以下是一个完整的类定义示例:

class Person {    private $name;    private $age;    public function setName($Name) {        $this->name = $Name;        return $this; // 返回当前对象    }    public function setAge($Age) {        $this->age = $Age;        return $this; // 返回当前对象    }    public function findMe() {        echo "My name is " . $this->name . " and I am " . $this->age . " years old.";    }}

正常的调用方式如下:

$myself = new Person();$myself->setName('Arvind Bhardwaj');$myself->setAge('22');$myself->findMe();

而使用方法链的优化方式则可以简化为:

$myself = new Person();$myself->setName('Arvind Bhardwaj')->setAge('22')->findMe();

这种方法链的调用方式在PHP中被广泛应用,特别是在需要多次调用相关方法的情况下。它的核心原理是每个方法都返回当前对象(return $this;),从而允许方法链的连续调用。这种写法不仅简化了代码,也提高了代码的可读性和维护性。

转载地址:http://lrif.baihongyu.com/

你可能感兴趣的文章
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty心跳检测
查看>>
Netty心跳检测机制
查看>>
netty既做服务端又做客户端_网易新闻客户端广告怎么做
查看>>
Netty核心模块组件
查看>>
Netty框架内的宝藏:ByteBuf
查看>>
Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
查看>>
Netty源码—1.服务端启动流程一
查看>>
Netty源码—1.服务端启动流程二
查看>>
Netty源码—2.Reactor线程模型一
查看>>
Netty源码—2.Reactor线程模型二
查看>>
Netty源码—3.Reactor线程模型三
查看>>
Netty源码—3.Reactor线程模型四
查看>>
Netty源码—4.客户端接入流程一
查看>>
Netty源码—4.客户端接入流程二
查看>>
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—5.Pipeline和Handler二
查看>>
Netty源码—6.ByteBuf原理一
查看>>
Netty源码—6.ByteBuf原理二
查看>>
Netty源码—7.ByteBuf原理三
查看>>