例如,我看到第三方应用程序具有以下功能:
$db->select('columns')->from('table')->where('condition');
这只是一个例子。你是如何创建这样的方法的?
要实现这一点,每个方法都应该返回$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;
}
}
在这些方法中,您通常会对对象的状态进行某种修改。
在您的示例中,方法只是返回对象。因此,$db->select()
使用方法from()
返回对象,方法where()
返回对象。