프록시 클래스를 직렬화해야합니다. 클래스는 __set 및 __get을 사용하여 값을 배열에 저장합니다. 직렬화를 단순한 객체처럼 보이기를 원합니다. 내가 말할 때,동적 프록시 클래스에 대한 사용자 정의 foreach 결과 - 마법 방법?
class Proxy
{
public $data = array();
public function __get($name)
{
return $data[$name]
}
}
와 나는 foreach 루프가 $ 데이터의 모든 키와 값을 반환하려면 :
foreach($myProxy as $key)
이 가능 즉, 내 클래스처럼 보인다?
필자는 반복 작업을 수행 할 코드를 제어 할 수 없습니다. 그것은 제 3 자 라이브러리이고, 나는 그것으로 멋지게 플레이하기 위해서 나의 프록시를 원한다. 그것은 foreach를 사용합니다. 나는 인터페이스를 구현하는 것이 그 사람이 인터페이스 함수를 사용하도록 반복 할 것을 요구한다고 가정 할까? 아니면 뒤에서 마술을 할 것인가? –
iterator 인터페이스는 마법입니다. foreach()를 객체 위에 사용할 수 있습니다. – Greg
정보를 제공해 주셔서 감사합니다! –