为了账号安全,请及时绑定邮箱和手机立即绑定

PHP方法链接?

PHP方法链接?

PHP
千巷猫影 2019-06-14 16:34:27
PHP方法链接?我正在使用PHP 5,我听说过面向对象方法中的一个新特性,称为“方法链接”。到底是什么?我如何实现它?
查看完整描述

3 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

基本上,你拿了一个物体:

$obj = new ObjectWithChainableMethods();

调用一个有效地执行return $this;最后:

$obj->doSomething();

因为它返回相同的对象,或者更确切地说,返回一个参照系对于同一个对象,可以从返回值继续调用同一个类的方法,如下所示:

$obj->doSomething()->doSomethingElse();

就这样,真的。两件重要的事情:

  1. 正如您注意到的,它仅限于PHP 5。它在PHP 4中不能正常工作,因为它按值返回对象,这意味着您正在调用对象的不同副本上的方法,这将破坏您的代码。

  2. 同样,您需要在可链接的方法中返回对象:

    public function doSomething() {
        // Do stuff
        return $this;}public function doSomethingElse() {
        // Do more stuff
        return $this;}


查看完整回答
反对 回复 2019-06-14
  • 3 回答
  • 0 关注
  • 419 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信