我已经看到了这样做的其他对象:如何创建PHP方法链接?
$obj->method1()->method2();
我该怎么办呢?每个函数只是修改一个对象的指针或返回一个指针?
我不知道这种风格的适当术语 - 如果任何人都可以帮助我,那就太好了。
我已经看到了这样做的其他对象:如何创建PHP方法链接?
$obj->method1()->method2();
我该怎么办呢?每个函数只是修改一个对象的指针或返回一个指针?
我不知道这种风格的适当术语 - 如果任何人都可以帮助我,那就太好了。
这是通过在每个功能的端返回$this
,从而使一个可链接的参考实现。
class MyClass {
public function method1() {
//...
return $this;
}
public function method2() {
//...
return $this;
}
}
流体接口。
只需设置你的对象的方法一()返回$此
可以说你有一个Person类。你将有你的方法做这样的事情:
public function setName($name)
{
$this->name = $name;
return $this; // We now return $this (the Person)
}
下载Zend框架和检查代码的某些部分 - 你可以从那里学到很多东西。
我把这称为方法链。见http://www.devshed.com/c/a/PHP/Method-Chaining-in-PHP-5/1/
也是你的方法
public function method1()
// do stuff
return $this;
}
以同样的方式里面,如果我回到另一个对象,也可以链接?在我的具体情况下,我返回一个MySQLi准备好的语句,我想我可以立即做一个bind_param? – 2010-06-02 23:01:50
是的。请记住,链中返回许多不同的对象可能会使您的API非常容易混淆。可能值得输入额外的行,而不是将链转移到另一个对象。 – 2010-06-02 23:04:48
完全理解谢谢! :) – 2010-06-02 23:20:18