2014-04-14 5 views
-1

getter 및 setter를 항상 기본/비워 둘 경우 사용하는 점은 무엇입니까?getter와 setter를 항상 기본/"비어있는"상태로 유지하려면 어떻게해야합니까?

내가 기본/빈 getter 및 setter에 의해 무엇을 의미 :

public function __get($property) 
{ 
    return $this->$property; 
} 

public function __set($propertyName, $value) 
{ 
    $this->$propertyName = $value; 
} 
+0

질문이 약간 다를 것이라고 생각합니다. 그는 마술 방법의 장단점을 묻고 있습니다. –

답변

1

@의 j08691의 링크가 getter 및 setter 뒤에 이론을 이해하는 것이 좋다. 마술 방법은 훌륭하지만 많은 단점이 있습니다.

  • IDE가 설명서와 함께 자동 완성 될 수 있습니다.
  • 또한 데이터의 유형을 확인할 수 있습니다

    pulic 기능 getProduct (제품 $ 제품)

1

당신은 당신이 그들을 사용할 것으로 예상 결코 경우가 무의미 맞아 많은 시간 그러나 그것들의 요점은 클래스 프로퍼티들이 이것들을 사용하여 설정되고 리턴되도록 보장하는 것입니다, 그래서 당신의 매개 변수가 클래스 내에서 설정되었다고하더라도 그것들을 사용해야합니다. 그렇게하면 인터페이스가 단 하나의 장소에 있음을 보장 받게됩니다. 왜 한 곳을 물어보고 싶습니까? 매개 변수에 관한 내용을 변경하거나 데이터베이스에 저장된 값을 제한하거나 데이터베이스를 사용하여 저장 방법을 변경하면 직접 액세스 할 수없는 추상화와 변경해야 할 단일 위치가 있습니다. 전체 클래스 (및 클래스에서 상속받은 모든 클래스)를 검색하지 않고 매개 변수를 사용하는 모든 장소를 찾으십시오.

의미가 있습니까?