2014-01-29 107 views
1

當教條2 autogenerating實體,所有制定者獲得回報$這種說法是這樣的:學說意義

class Foo{ 
    //... skipping details .... 

    public function setFoo(\Application\Entity\SomeEntity $someValue){ 
     $this->someValue = $someValue; 
     return $this; 
    } 
} 

我的問題是,我爲什麼要返回$實例當我已經有使用$foo = new foo();的實例時?這背後有什麼想法?這是一種設計模式嗎?

回答

2

使用「鏈接方法」。像:

$foo->setFoo()->setFoo1()->setFoo... 

它被稱爲Fluent Interface

這個想法是,當方法必須返回$this時,您可以在返回的$this上調用此類的其他方法。在ORM中,例如,用於構建sql查詢:$this->select()->from()->where()->....