2016-12-25 3 views
1

가 하나 개의 클래스 : 루프에서인스턴스 클래스의 상태를 저장하는 방법은 무엇입니까?

Class A { 
    public function Q(){ 
     return value; 
    } 
} 

내가 클래스 A의 일부 증거물을 만들 :

내가 루프의 각 반복에 대해 $obj_$i->Q();의 모든 결과를 저장할 수 있습니다
while ($i < 5){ 
    $obj_$i = new A(); 
    $obj_$i->Q(); 
} 

?

나는 다른 클래스의 이러한 객체를 처리해야하기 때문에.

Class B { 
    public function Result(){ 
     return $obj_$i + 3; 
    } 

} 
+0

배열로 푸시합니다. –

+0

객체만을 조작하고 싶습니다. – Huligan

+0

return 문'return $ obj_ $ i + 3;'로 무엇을하고 싶습니까? –

답변

1

이런 배열을 만들고 while() 루프의 각 반복에서이 배열에 물체를 밀어 :

$objArray = array(); 
while ($i < 5){ 
    $objArray[] = new A(); 
} 

나중에

는, 상기 처리에 대한 클래스 BResult() 방법이 어레이를 통과

class B { 
    public function Result($objArray){ 
     foreach($objArray as $obj){ 
      // your code 
     } 
    } 
} 
+0

더 우아한 방법이 있습니까? 패턴, 가능한 패턴 종속성을 의미합니까? – Huligan

+1

@Huligan 지금 당장 당신이 달성하고자하는 것이 분명하지 않습니다. 그러나'$ objArray' 배열을 클래스'B'에서 광범위하게 사용/조작하고 싶다면 * Dependency Injection * 패턴을 가져야합니다. 즉,이'$ objArray'를 유지할 인스턴스 변수를 유지하고 객체를 생성하는 동안 이 배열을 생성자 메서드에 전달하고이 배열을 인스턴스 변수에 할당합니다. 이 방법으로 객체 범위 전체에서이 배열에 액세스하는 것이 더 쉬울 것입니다. –

관련 문제