728x90

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 루프에서 자동으로 호출됩니다.

728x90

'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

+ Recent posts