PHP의 Iterator는 반복자 패턴에서 사용되는 개념입니다. 이 패턴은 객체의 내부 상태를 숨기고, 반복자를 통해 객체에 접근할 수 있도록 합니다. 예를 들어, 사용자가 정의한 배열 클래스에 대해서 foreach 루프를 실행할 수 있습니다.
class MyIterator implements Iterator {
private $position = 0;
private $array = [
"first",
"second",
"third"
];
public function __construct() {
$this->position = 0;
}
function rewind() {
var_dump(__METHOD__);
$this->position = 0;
}
function current() {
var_dump(__METHOD__);
return $this->array[$this->position];
}
function key() {
var_dump(__METHOD__);
return $this->position;
}
function next() {
var_dump(__METHOD__);
++$this->position;
}
function valid() {
var_dump(__METHOD__);
return isset($this->array[$this->position]);
}
}
$it = new MyIterator;
foreach($it as $key => $value) {
var_dump($key, $value);
echo "\n";
}
위 예제에서 MyIterator 클래스는 Iterator 인터페이스를 구현합니다. rewind, current, key, next, valid 메소드를 구현해야 합니다. 이 메소드들은 foreach 루프에서 자동으로 호출됩니다.
'IT' 카테고리의 다른 글
PHP의 Superglobals (0) | 2023.03.01 |
---|---|
PHP의 Superglobals (0) | 2023.03.01 |
PHP설명서 (0) | 2022.02.19 |
그누보드5/영카트5 트위터식 로그인 솔루션 (0) | 2021.03.08 |
그누보드강좌 (0) | 2020.10.18 |