2014-01-29 3 views
1

모든 손님들은이 문장과 같이 반환 $를 얻을 :교리의 의미는

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()->.....