2010-03-20 58 views
1

我是一個自我思考的業餘愛好程序員,因此沒有始終如一地遵循專業人員的基本原則。所以請原諒,如果這是基本的。

當在模型中設置變量時返回$ this的目的或好處是什麼。 我也看到這在其他地方做過,但無法弄清楚這一點。

示例代碼:

public function setAlias($Alias){ 
    $this->_Alias = (string) $Alias; 
    return $this; 
} 

public function getAlias(){ 
    return $this->_Alias; 
} 

回答

9

它可以讓你做的方法鏈接。例如,

$object = new Object(); 
$object->setAttribute1("value")->setAttribute2("value") 
+1

學到了一些東西謝謝。 http://en.wikipedia.org/wiki/Method_chaining – RoboTamer 2010-03-20 01:15:41

+0

也被稱爲「Fluent Interface」:http://en.wikipedia.org/wiki/Fluent_interface。 – smack0007 2010-03-20 13:20:23

+0

@ smack0007正如您在鏈接的文章中看到的,僅僅是方法鏈接尚未構成Fluent接口。 Fluent接口用於創建內部DSL。最好的例子是'Zend_Db_Select'。 – Gordon 2010-03-21 16:03:23

2

它允許方法鏈接:

$someObj->method1()->method2(); 
相關問題