例如,我见过第三方应用程序具有以下功能:
$db->select('columns')->from('table')->where('condition');
这只是一个例子。你如何创建这样的方法?
答案 0 :(得分:5)
为了实现这一点,每个方法都应该返回$this
,这是包含方法的类的实例。
class MyClass {
public function select($x){
// do something
return $this;
}
public function from($x){
// do something
return $this;
}
public function where($x){
// do something
return $this;
}
}
在这些方法中,您通常会对对象的状态执行某种修改。
答案 1 :(得分:0)
在您的示例中,方法只是返回对象。因此$db->select()
返回一个方法from()
的对象,该方法返回一个方法为where()
的对象。