如何在PHP中链接方法? [英] How do I chain methods in PHP?

查看:88
本文介绍了如何在PHP中链接方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

jQuery使我可以链接方法.我还记得在PHP中看到过同样的东西,所以我这样写:

jQuery lets me chain methods. I also remember seeing the same in PHP so I wrote this:

class cat {
 function meow() {
 echo "meow!";
 }

function purr() {
 echo "purr!";
 }
}

$kitty = new cat;

$kitty->meow()->purr();

我无法使链条正常工作.喵叫后立即产生致命错误.

I cannot get the chain to work. It generates a fatal error right after the meow.

推荐答案

要回答您的cat示例,您的cat方法需要返回$this,这是当前的对象实例.然后,您可以链接方法:

To answer your cat example, your cat's methods need to return $this, which is the current object instance. Then you can chain your methods:

class cat {
 function meow() {
  echo "meow!";
  return $this;
 }

 function purr() {
  echo "purr!";
  return $this;
 }
}

现在您可以这样做:

$kitty = new cat;
$kitty->meow()->purr();

有关该主题的非常有用的文章,请参见此处:

For a really helpful article on the topic, see here: http://www.talkphp.com/advanced-php-programming/1163-php5-method-chaining.html

这篇关于如何在PHP中链接方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆