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

查看:15
本文介绍了如何在 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();

有关该主题的真正有用的文章,请参见此处:http://www.talkphp.com/advanced-php-programming/1163-php5-method-chaining.html

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天全站免登陆