如何在PHP中创建嵌套方法?
例如,我见过第三方应用程序具有如下功能:如何在PHP中创建嵌套方法?,php,oop,class,methods,nested,Php,Oop,Class,Methods,Nested,例如,我见过第三方应用程序具有如下功能: $db->select('columns')->from('table')->where('condition'); 这只是一个例子。如何创建这样的方法?在您的示例中,这些方法只是返回对象。因此,$db->select()返回一个对象,该对象包含一个方法from(),该方法返回一个对象,该对象包含一个方法where()要实现这一点,每个方法都应该返回$this,一个包含这些方法的类的实例 class MyClass { pub
$db->select('columns')->from('table')->where('condition');
这只是一个例子。如何创建这样的方法?在您的示例中,这些方法只是返回对象。因此,
$db->select()
返回一个对象,该对象包含一个方法from()
,该方法返回一个对象,该对象包含一个方法where()
要实现这一点,每个方法都应该返回$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;
}
}
在这些方法中,您通常会对对象的状态执行某种修改