IteratorAggregate Arayüzü

(PHP 5, PHP 7)

Giriş

Harici bir yineleyici oluşturmak için arayüz.

Arayüz Sözdizimi

IteratorAggregate extends Traversable {
/* Yöntemler */
abstract public getIterator ( void ) : Traversable
}

Örnek 1 - Temel kullanımı

<?php
class Verilerim implements IteratorAggregate {
    public 
$özellik1 "Birinci genel özellik";
    public 
$özellik2 "İkinci genel özellik";
    public 
$özellik3 "Üçüncü genel özellik";

    public function 
__construct() {
        
$this->özellik4 "son özellik";
    }

/* PHP, tr_TR yerelinde bu yöntemi de arıyor, yoksa
 * "Fatal error: Couldn't find implementation for method
 * Verilerim::getiterator in Unknown on line 0"
 * hatasını veriyor.
 */
    
public function getiterator() {
        return new 
ArrayIterator($this);
    }

    public function 
getIterator() {
        return new 
ArrayIterator($this);
    }
}

$obj = new Verilerim;

foreach(
$obj as $key => $value) {
    
var_dump($key$value);
    echo 
"\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(9) "özellik1"
string(22) "Birinci genel özellik"

string(9) "özellik2"
string(22) "İkinci genel özellik"

string(9) "özellik3"
string(25) "Üçüncü genel özellik"

string(9) "özellik4"
string(12) "son özellik"

İçindekiler