2012-02-06 60 views
2

例如,我見過有這樣的功能,第三方應用程序:如何在PHP中創建嵌套方法?

$db->select('columns')->from('table')->where('condition'); 

這只是一個例子。你如何創建這樣的方法?

回答

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; 
    } 

} 

這些方法裏面,你一般執行某種修改對象的狀態。

0

在你的例子中,這些方法只是返回對象。因此,$db->select()返回一個方法爲from()的對象,該方法使用方法where()返回對象。